Showing preview only (1,148K chars total). The displayed content is truncated. Use the JSON API for full output.
Repository: AmitAKB/shoppingcart
Branch: main
Commit: 25b6462bb088
Files: 125
Total size: 1.1 MB
Directory structure:
gitextract_r48f2v_5/
├── README.md
├── angular.json
├── dist/
│ └── amitTest/
│ ├── 3rdpartylicenses.txt
│ ├── 4.42a6c2c86603281e7077.js
│ ├── index.html
│ ├── main.7433f5e351bc51485752.js
│ ├── polyfills.831f7ac70868703522b7.js
│ ├── runtime.ee563f840fc37d3d6149.js
│ └── styles.97b549a6b24b654690f9.css
├── e2e/
│ ├── protractor.conf.js
│ ├── src/
│ │ ├── app.e2e-spec.ts
│ │ └── app.po.ts
│ └── tsconfig.json
├── firebase.json
├── karma.conf.js
├── n/
│ ├── 404.html
│ └── index.html
├── package.json
├── src/
│ ├── app/
│ │ ├── admin/
│ │ │ ├── admin-orders/
│ │ │ │ ├── admin-orders.component.html
│ │ │ │ ├── admin-orders.component.scss
│ │ │ │ ├── admin-orders.component.spec.ts
│ │ │ │ └── admin-orders.component.ts
│ │ │ ├── admin-products/
│ │ │ │ ├── admin-products.component.html
│ │ │ │ ├── admin-products.component.scss
│ │ │ │ ├── admin-products.component.spec.ts
│ │ │ │ └── admin-products.component.ts
│ │ │ ├── admin.module.ts
│ │ │ ├── product-form/
│ │ │ │ ├── product-form.component.html
│ │ │ │ ├── product-form.component.scss
│ │ │ │ ├── product-form.component.spec.ts
│ │ │ │ └── product-form.component.ts
│ │ │ └── service/
│ │ │ ├── admin-auth-guard.service.spec.ts
│ │ │ └── admin-auth-guard.service.ts
│ │ ├── app-routing.module.ts
│ │ ├── app.component.html
│ │ ├── app.component.scss
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── core/
│ │ │ ├── bs-navbar/
│ │ │ │ ├── bs-navbar.component.html
│ │ │ │ ├── bs-navbar.component.scss
│ │ │ │ ├── bs-navbar.component.spec.ts
│ │ │ │ └── bs-navbar.component.ts
│ │ │ ├── core.module.ts
│ │ │ ├── home/
│ │ │ │ ├── home.component.html
│ │ │ │ ├── home.component.scss
│ │ │ │ ├── home.component.spec.ts
│ │ │ │ └── home.component.ts
│ │ │ └── login/
│ │ │ ├── login.component.html
│ │ │ ├── login.component.scss
│ │ │ ├── login.component.spec.ts
│ │ │ └── login.component.ts
│ │ ├── shared/
│ │ │ ├── component/
│ │ │ │ ├── products-card/
│ │ │ │ │ ├── products-card.component.html
│ │ │ │ │ ├── products-card.component.scss
│ │ │ │ │ ├── products-card.component.spec.ts
│ │ │ │ │ └── products-card.component.ts
│ │ │ │ └── products-quantity/
│ │ │ │ ├── products-quantity.component.html
│ │ │ │ ├── products-quantity.component.scss
│ │ │ │ ├── products-quantity.component.spec.ts
│ │ │ │ └── products-quantity.component.ts
│ │ │ ├── model/
│ │ │ │ ├── app-user.ts
│ │ │ │ ├── order.ts
│ │ │ │ └── product.ts
│ │ │ ├── service/
│ │ │ │ ├── auth-guard.service.spec.ts
│ │ │ │ ├── auth-guard.service.ts
│ │ │ │ ├── authservice.service.spec.ts
│ │ │ │ ├── authservice.service.ts
│ │ │ │ ├── categoryservice.service.spec.ts
│ │ │ │ ├── categoryservice.service.ts
│ │ │ │ ├── orders.service.spec.ts
│ │ │ │ ├── orders.service.ts
│ │ │ │ ├── product-service.service.spec.ts
│ │ │ │ ├── product-service.service.ts
│ │ │ │ ├── shopping-cart.service.spec.ts
│ │ │ │ ├── shopping-cart.service.ts
│ │ │ │ ├── user.service.spec.ts
│ │ │ │ └── user.service.ts
│ │ │ └── shared.module.ts
│ │ └── shopping/
│ │ ├── components/
│ │ │ ├── check-out/
│ │ │ │ ├── check-out.component.html
│ │ │ │ ├── check-out.component.scss
│ │ │ │ ├── check-out.component.spec.ts
│ │ │ │ └── check-out.component.ts
│ │ │ ├── my-orders/
│ │ │ │ ├── my-orders.component.html
│ │ │ │ ├── my-orders.component.scss
│ │ │ │ ├── my-orders.component.spec.ts
│ │ │ │ └── my-orders.component.ts
│ │ │ ├── order-success/
│ │ │ │ ├── order-success.component.html
│ │ │ │ ├── order-success.component.scss
│ │ │ │ ├── order-success.component.spec.ts
│ │ │ │ └── order-success.component.ts
│ │ │ ├── products/
│ │ │ │ ├── products-filter/
│ │ │ │ │ ├── products-filter.component.html
│ │ │ │ │ ├── products-filter.component.scss
│ │ │ │ │ ├── products-filter.component.spec.ts
│ │ │ │ │ └── products-filter.component.ts
│ │ │ │ ├── products.component.html
│ │ │ │ ├── products.component.scss
│ │ │ │ ├── products.component.spec.ts
│ │ │ │ └── products.component.ts
│ │ │ ├── shopping-cart/
│ │ │ │ ├── shopping-cart.component.html
│ │ │ │ ├── shopping-cart.component.scss
│ │ │ │ ├── shopping-cart.component.spec.ts
│ │ │ │ └── shopping-cart.component.ts
│ │ │ ├── shopping-cart-summary/
│ │ │ │ ├── shopping-cart-summary.component.html
│ │ │ │ ├── shopping-cart-summary.component.scss
│ │ │ │ ├── shopping-cart-summary.component.spec.ts
│ │ │ │ └── shopping-cart-summary.component.ts
│ │ │ └── shopping-form/
│ │ │ ├── shopping-form.component.html
│ │ │ ├── shopping-form.component.scss
│ │ │ ├── shopping-form.component.spec.ts
│ │ │ └── shopping-form.component.ts
│ │ └── shopping.module.ts
│ ├── assets/
│ │ └── .gitkeep
│ ├── environments/
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── styles.scss
│ └── test.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.spec.json
├── tslint.json
├── y/
│ └── index.html
└── yes/
└── index.html
================================================
FILE CONTENTS
================================================
================================================
FILE: README.md
================================================
# shoppingcart
# https://console.firebase.google.com/u/0/
# Create the Project and generate the key
# Replace the key in the environment.ts and environment.prod.ts
firebase:{
apiKey: "******************",
authDomain: "******************",
projectId: "******************",
storageBucket: "******************",
messagingSenderId: "******************",
appId: "******************",
measurementId: "******************"
}
# AmitTest
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.10.
## Development server
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
## Code scaffolding
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
## Build
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
## Running unit tests
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
## Running end-to-end tests
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
## Further help
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
================================================
FILE: angular.json
================================================
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"amitTest": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
},
"@schematics/angular:application": {
"strict": true
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/amitTest",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"aot": true,
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
}
]
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "amitTest:build"
},
"configurations": {
"production": {
"browserTarget": "amitTest:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "amitTest:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"tsconfig.app.json",
"tsconfig.spec.json",
"e2e/tsconfig.json"
],
"exclude": [
"**/node_modules/**"
]
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "amitTest:serve"
},
"configurations": {
"production": {
"devServerTarget": "amitTest:serve:production"
}
}
}
}
}
},
"defaultProject": "amitTest"
}
================================================
FILE: dist/amitTest/3rdpartylicenses.txt
================================================
@angular/common
MIT
@angular/core
MIT
@angular/fire
MIT
@angular/forms
MIT
@angular/localize
MIT
@angular/platform-browser
MIT
@angular/router
MIT
@firebase/app
Apache-2.0
@firebase/auth
Apache-2.0
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@firebase/component
Apache-2.0
@firebase/firestore
Apache-2.0
@firebase/logger
Apache-2.0
@firebase/util
Apache-2.0
@firebase/webchannel-wrapper
Apache-2.0
@ng-bootstrap/ng-bootstrap
MIT
The MIT License (MIT)
Copyright (c) 2015-2018 Angular ng-bootstrap team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
firebase/app
firebase/auth
firebase/firestore
rxjs
Apache-2.0
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
tslib
0BSD
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
webpack
MIT
Copyright JS Foundation and other contributors
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
zone.js
MIT
The MIT License
Copyright (c) 2010-2020 Google LLC. https://angular.io/license
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: dist/amitTest/4.42a6c2c86603281e7077.js
================================================
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"6nsN":function(t,n,e){"use strict";e.r(n),e("LOEa")},LOEa:function(t,n,e){(function(){var t,n=e("wj3C").default,i="function"==typeof Object.defineProperties?Object.defineProperty:function(t,n,e){t!=Array.prototype&&t!=Object.prototype&&(t[n]=e.value)},r=function(t){t=["object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global,t];for(var n=0;n<t.length;++n){var e=t[n];if(e&&e.Math==Math)return e}return globalThis}(this);function o(t){var n=0;return function(){return n<t.length?{done:!1,value:t[n++]}:{done:!0}}}function a(t){var n="undefined"!=typeof Symbol&&Symbol.iterator&&t[Symbol.iterator];return n?n.call(t):{next:o(t)}}!function(t,n){if(n){var e=r;t=t.split(".");for(var o=0;o<t.length-1;o++){var a=t[o];a in e||(e[a]={}),e=e[a]}(n=n(o=e[t=t[t.length-1]]))!=o&&null!=n&&i(e,t,{configurable:!0,writable:!0,value:n})}}("Promise",function(t){function n(t){this.b=0,this.c=void 0,this.a=[];var n=this.f();try{t(n.resolve,n.reject)}catch(e){n.reject(e)}}function e(){this.a=null}function i(t){return t instanceof n?t:new n(function(n){n(t)})}if(t)return t;e.prototype.b=function(t){if(null==this.a){this.a=[];var n=this;this.c(function(){n.g()})}this.a.push(t)};var o=r.setTimeout;e.prototype.c=function(t){o(t,0)},e.prototype.g=function(){for(;this.a&&this.a.length;){var t=this.a;this.a=[];for(var n=0;n<t.length;++n){var e=t[n];t[n]=null;try{e()}catch(i){this.f(i)}}}this.a=null},e.prototype.f=function(t){this.c(function(){throw t})},n.prototype.f=function(){function t(t){return function(i){e||(e=!0,t.call(n,i))}}var n=this,e=!1;return{resolve:t(this.v),reject:t(this.g)}},n.prototype.v=function(t){if(t===this)this.g(new TypeError("A Promise cannot resolve to itself"));else if(t instanceof n)this.o(t);else{t:switch(typeof t){case"object":var e=null!=t;break t;case"function":e=!0;break t;default:e=!1}e?this.m(t):this.h(t)}},n.prototype.m=function(t){var n=void 0;try{n=t.then}catch(e){return void this.g(e)}"function"==typeof n?this.u(n,t):this.h(t)},n.prototype.g=function(t){this.i(2,t)},n.prototype.h=function(t){this.i(1,t)},n.prototype.i=function(t,n){if(0!=this.b)throw Error("Cannot settle("+t+", "+n+"): Promise already settled in state"+this.b);this.b=t,this.c=n,this.l()},n.prototype.l=function(){if(null!=this.a){for(var t=0;t<this.a.length;++t)s.b(this.a[t]);this.a=null}};var s=new e;return n.prototype.o=function(t){var n=this.f();t.Pa(n.resolve,n.reject)},n.prototype.u=function(t,n){var e=this.f();try{t.call(n,e.resolve,e.reject)}catch(i){e.reject(i)}},n.prototype.then=function(t,e){function i(t,n){return"function"==typeof t?function(n){try{r(t(n))}catch(e){o(e)}}:n}var r,o,a=new n(function(t,n){r=t,o=n});return this.Pa(i(t,r),i(e,o)),a},n.prototype.catch=function(t){return this.then(void 0,t)},n.prototype.Pa=function(t,n){function e(){switch(i.b){case 1:t(i.c);break;case 2:n(i.c);break;default:throw Error("Unexpected state: "+i.b)}}var i=this;null==this.a?s.b(e):this.a.push(e)},n.resolve=i,n.reject=function(t){return new n(function(n,e){e(t)})},n.race=function(t){return new n(function(n,e){for(var r=a(t),o=r.next();!o.done;o=r.next())i(o.value).Pa(n,e)})},n.all=function(t){var e=a(t),r=e.next();return r.done?i([]):new n(function(t,n){function o(n){return function(e){a[n]=e,0==--s&&t(a)}}var a=[],s=0;do{a.push(void 0),s++,i(r.value).Pa(o(a.length-1),n),r=e.next()}while(!r.done)})},n});var s=s||{},u=this||self,c=/^[\w+/_-]+[=]{0,2}$/,h=null;function l(){}function f(t){var n=typeof t;if("object"==n){if(!t)return"null";if(t instanceof Array)return"array";if(t instanceof Object)return n;var e=Object.prototype.toString.call(t);if("[object Window]"==e)return"object";if("[object Array]"==e||"number"==typeof t.length&&void 0!==t.splice&&void 0!==t.propertyIsEnumerable&&!t.propertyIsEnumerable("splice"))return"array";if("[object Function]"==e||void 0!==t.call&&void 0!==t.propertyIsEnumerable&&!t.propertyIsEnumerable("call"))return"function"}else if("function"==n&&void 0===t.call)return"object";return n}function d(t){var n=f(t);return"array"==n||"object"==n&&"number"==typeof t.length}function p(t){return"function"==f(t)}function v(t){var n=typeof t;return"object"==n&&null!=t||"function"==n}function m(t){return Object.prototype.hasOwnProperty.call(t,g)&&t[g]||(t[g]=++b)}var g="closure_uid_"+(1e9*Math.random()>>>0),b=0;function y(t,n,e){return t.call.apply(t.bind,arguments)}function w(t,n,e){if(!t)throw Error();if(2<arguments.length){var i=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(e,i),t.apply(n,e)}}return function(){return t.apply(n,arguments)}}function I(t,n,e){return(I=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?y:w).apply(null,arguments)}function T(t,n){var e=Array.prototype.slice.call(arguments,1);return function(){var n=e.slice();return n.push.apply(n,arguments),t.apply(this,n)}}var E=Date.now||function(){return+new Date};function A(t,n){function e(){}e.prototype=n.prototype,t.$a=n.prototype,t.prototype=new e,t.prototype.constructor=t}function k(t,n,e){this.code=_+t,this.message=n||O[t]||"",this.a=e||null}function S(t){var n=t&&t.code;return n?new k(n.substring(_.length),t.message,t.serverResponse):null}A(k,Error),k.prototype.w=function(){var t={code:this.code,message:this.message};return this.a&&(t.serverResponse=this.a),t},k.prototype.toJSON=function(){return this.w()};var N,_="auth/",O={"admin-restricted-operation":"This operation is restricted to administrators only.","argument-error":"","app-not-authorized":"This app, identified by the domain where it's hosted, is not authorized to use Firebase Authentication with the provided API key. Review your key configuration in the Google API console.","app-not-installed":"The requested mobile application corresponding to the identifier (Android package name or iOS bundle ID) provided is not installed on this device.","captcha-check-failed":"The reCAPTCHA response token provided is either invalid, expired, already used or the domain associated with it does not match the list of whitelisted domains.","code-expired":"The SMS code has expired. Please re-send the verification code to try again.","cordova-not-ready":"Cordova framework is not ready.","cors-unsupported":"This browser is not supported.","credential-already-in-use":"This credential is already associated with a different user account.","custom-token-mismatch":"The custom token corresponds to a different audience.","requires-recent-login":"This operation is sensitive and requires recent authentication. Log in again before retrying this request.","dynamic-link-not-activated":"Please activate Dynamic Links in the Firebase Console and agree to the terms and conditions.","email-change-needs-verification":"Multi-factor users must always have a verified email.","email-already-in-use":"The email address is already in use by another account.","expired-action-code":"The action code has expired. ","cancelled-popup-request":"This operation has been cancelled due to another conflicting popup being opened.","internal-error":"An internal error has occurred.","invalid-app-credential":"The phone verification request contains an invalid application verifier. The reCAPTCHA token response is either invalid or expired.","invalid-app-id":"The mobile app identifier is not registed for the current project.","invalid-user-token":"This user's credential isn't valid for this project. This can happen if the user's token has been tampered with, or if the user isn't for the project associated with this API key.","invalid-auth-event":"An internal error has occurred.","invalid-verification-code":"The SMS verification code used to create the phone auth credential is invalid. Please resend the verification code sms and be sure use the verification code provided by the user.","invalid-continue-uri":"The continue URL provided in the request is invalid.","invalid-cordova-configuration":"The following Cordova plugins must be installed to enable OAuth sign-in: cordova-plugin-buildinfo, cordova-universal-links-plugin, cordova-plugin-browsertab, cordova-plugin-inappbrowser and cordova-plugin-customurlscheme.","invalid-custom-token":"The custom token format is incorrect. Please check the documentation.","invalid-dynamic-link-domain":"The provided dynamic link domain is not configured or authorized for the current project.","invalid-email":"The email address is badly formatted.","invalid-api-key":"Your API key is invalid, please check you have copied it correctly.","invalid-cert-hash":"The SHA-1 certificate hash provided is invalid.","invalid-credential":"The supplied auth credential is malformed or has expired.","invalid-message-payload":"The email template corresponding to this action contains invalid characters in its message. Please fix by going to the Auth email templates section in the Firebase Console.","invalid-multi-factor-session":"The request does not contain a valid proof of first factor successful sign-in.","invalid-oauth-provider":"EmailAuthProvider is not supported for this operation. This operation only supports OAuth providers.","invalid-oauth-client-id":"The OAuth client ID provided is either invalid or does not match the specified API key.","unauthorized-domain":"This domain is not authorized for OAuth operations for your Firebase project. Edit the list of authorized domains from the Firebase console.","invalid-action-code":"The action code is invalid. This can happen if the code is malformed, expired, or has already been used.","wrong-password":"The password is invalid or the user does not have a password.","invalid-persistence-type":"The specified persistence type is invalid. It can only be local, session or none.","invalid-phone-number":"The format of the phone number provided is incorrect. Please enter the phone number in a format that can be parsed into E.164 format. E.164 phone numbers are written in the format [+][country code][subscriber number including area code].","invalid-provider-id":"The specified provider ID is invalid.","invalid-recipient-email":"The email corresponding to this action failed to send as the provided recipient email address is invalid.","invalid-sender":"The email template corresponding to this action contains an invalid sender email or name. Please fix by going to the Auth email templates section in the Firebase Console.","invalid-verification-id":"The verification ID used to create the phone auth credential is invalid.","invalid-tenant-id":"The Auth instance's tenant ID is invalid.","multi-factor-info-not-found":"The user does not have a second factor matching the identifier provided.","multi-factor-auth-required":"Proof of ownership of a second factor is required to complete sign-in.","missing-android-pkg-name":"An Android Package Name must be provided if the Android App is required to be installed.","auth-domain-config-required":"Be sure to include authDomain when calling firebase.initializeApp(), by following the instructions in the Firebase console.","missing-app-credential":"The phone verification request is missing an application verifier assertion. A reCAPTCHA response token needs to be provided.","missing-verification-code":"The phone auth credential was created with an empty SMS verification code.","missing-continue-uri":"A continue URL must be provided in the request.","missing-iframe-start":"An internal error has occurred.","missing-ios-bundle-id":"An iOS Bundle ID must be provided if an App Store ID is provided.","missing-multi-factor-info":"No second factor identifier is provided.","missing-multi-factor-session":"The request is missing proof of first factor successful sign-in.","missing-or-invalid-nonce":"The request does not contain a valid nonce. This can occur if the SHA-256 hash of the provided raw nonce does not match the hashed nonce in the ID token payload.","missing-phone-number":"To send verification codes, provide a phone number for the recipient.","missing-verification-id":"The phone auth credential was created with an empty verification ID.","app-deleted":"This instance of FirebaseApp has been deleted.","account-exists-with-different-credential":"An account already exists with the same email address but different sign-in credentials. Sign in using a provider associated with this email address.","network-request-failed":"A network error (such as timeout, interrupted connection or unreachable host) has occurred.","no-auth-event":"An internal error has occurred.","no-such-provider":"User was not linked to an account with the given provider.","null-user":"A null user object was provided as the argument for an operation which requires a non-null user object.","operation-not-allowed":"The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section.","operation-not-supported-in-this-environment":'This operation is not supported in the environment this application is running on. "location.protocol" must be http, https or chrome-extension and web storage must be enabled.',"popup-blocked":"Unable to establish a connection with the popup. It may have been blocked by the browser.","popup-closed-by-user":"The popup has been closed by the user before finalizing the operation.","provider-already-linked":"User can only be linked to one identity for the given provider.","quota-exceeded":"The project's quota for this operation has been exceeded.","redirect-cancelled-by-user":"The redirect operation has been cancelled by the user before finalizing.","redirect-operation-pending":"A redirect sign-in operation is already pending.","rejected-credential":"The request contains malformed or mismatching credentials.","second-factor-already-in-use":"The second factor is already enrolled on this account.","maximum-second-factor-count-exceeded":"The maximum allowed number of second factors on a user has been exceeded.","tenant-id-mismatch":"The provided tenant ID does not match the Auth instance's tenant ID",timeout:"The operation has timed out.","user-token-expired":"The user's credential is no longer valid. The user must sign in again.","too-many-requests":"We have blocked all requests from this device due to unusual activity. Try again later.","unauthorized-continue-uri":"The domain of the continue URL is not whitelisted. Please whitelist the domain in the Firebase console.","unsupported-first-factor":"Enrolling a second factor or signing in with a multi-factor account requires sign-in with a supported first factor.","unsupported-persistence-type":"The current environment does not support the specified persistence type.","unsupported-tenant-operation":"This operation is not supported in a multi-tenant context.","unverified-email":"The operation requires a verified email.","user-cancelled":"The user did not grant your application the permissions it requested.","user-not-found":"There is no user record corresponding to this identifier. The user may have been deleted.","user-disabled":"The user account has been disabled by an administrator.","user-mismatch":"The supplied credentials do not correspond to the previously signed in user.","user-signed-out":"","weak-password":"The password must be 6 characters long or more.","web-storage-unsupported":"This browser is not supported or 3rd party cookies and data may be disabled."},C={kd:{Sa:"https://staging-identitytoolkit.sandbox.googleapis.com/identitytoolkit/v3/relyingparty/",Ya:"https://staging-securetoken.sandbox.googleapis.com/v1/token",Va:"https://staging-identitytoolkit.sandbox.googleapis.com/v2/",id:"b"},rd:{Sa:"https://www.googleapis.com/identitytoolkit/v3/relyingparty/",Ya:"https://securetoken.googleapis.com/v1/token",Va:"https://identitytoolkit.googleapis.com/v2/",id:"p"},td:{Sa:"https://staging-www.sandbox.googleapis.com/identitytoolkit/v3/relyingparty/",Ya:"https://staging-securetoken.sandbox.googleapis.com/v1/token",Va:"https://staging-identitytoolkit.sandbox.googleapis.com/v2/",id:"s"},ud:{Sa:"https://www-googleapis-test.sandbox.google.com/identitytoolkit/v3/relyingparty/",Ya:"https://test-securetoken.sandbox.googleapis.com/v1/token",Va:"https://test-identitytoolkit.sandbox.googleapis.com/v2/",id:"t"}};function R(t){for(var n in C)if(C[n].id===t)return{firebaseEndpoint:(t=C[n]).Sa,secureTokenEndpoint:t.Ya,identityPlatformEndpoint:t.Va};return null}function P(t){if(!t)return!1;try{return!!t.$goog_Thenable}catch(n){return!1}}function D(t){if(Error.captureStackTrace)Error.captureStackTrace(this,D);else{var n=Error().stack;n&&(this.stack=n)}t&&(this.message=String(t))}function L(t,n){for(var e="",i=(t=t.split("%s")).length-1,r=0;r<i;r++)e+=t[r]+(r<n.length?n[r]:"%s");D.call(this,e+t[i])}function x(t,n){throw new L("Failure"+(t?": "+t:""),Array.prototype.slice.call(arguments,1))}function M(t,n){this.c=t,this.f=n,this.b=0,this.a=null}function j(t,n){t.f(n),100>t.b&&(t.b++,n.next=t.a,t.a=n)}function U(){this.b=this.a=null}N=R("__EID__")?"__EID__":void 0,A(D,Error),D.prototype.name="CustomError",A(L,D),L.prototype.name="AssertionError",M.prototype.get=function(){if(0<this.b){this.b--;var t=this.a;this.a=t.next,t.next=null}else t=this.c();return t};var V=new M(function(){return new K},function(t){t.reset()});function F(){var t=bn,n=null;return t.a&&(n=t.a,t.a=t.a.next,t.a||(t.b=null),n.next=null),n}function K(){this.next=this.b=this.a=null}U.prototype.add=function(t,n){var e=V.get();e.set(t,n),this.b?this.b.next=e:this.a=e,this.b=e},K.prototype.set=function(t,n){this.a=t,this.b=n,this.next=null},K.prototype.reset=function(){this.next=this.b=this.a=null};var q=Array.prototype.indexOf?function(t,n){return Array.prototype.indexOf.call(t,n,void 0)}:function(t,n){if("string"==typeof t)return"string"!=typeof n||1!=n.length?-1:t.indexOf(n,0);for(var e=0;e<t.length;e++)if(e in t&&t[e]===n)return e;return-1},H=Array.prototype.forEach?function(t,n,e){Array.prototype.forEach.call(t,n,e)}:function(t,n,e){for(var i=t.length,r="string"==typeof t?t.split(""):t,o=0;o<i;o++)o in r&&n.call(e,r[o],o,t)},G=Array.prototype.filter?function(t,n){return Array.prototype.filter.call(t,n,void 0)}:function(t,n){for(var e=t.length,i=[],r=0,o="string"==typeof t?t.split(""):t,a=0;a<e;a++)if(a in o){var s=o[a];n.call(void 0,s,a,t)&&(i[r++]=s)}return i},B=Array.prototype.map?function(t,n){return Array.prototype.map.call(t,n,void 0)}:function(t,n){for(var e=t.length,i=Array(e),r="string"==typeof t?t.split(""):t,o=0;o<e;o++)o in r&&(i[o]=n.call(void 0,r[o],o,t));return i},W=Array.prototype.some?function(t,n){return Array.prototype.some.call(t,n,void 0)}:function(t,n){for(var e=t.length,i="string"==typeof t?t.split(""):t,r=0;r<e;r++)if(r in i&&n.call(void 0,i[r],r,t))return!0;return!1};function X(t,n){return 0<=q(t,n)}function J(t,n){var e;return(e=0<=(n=q(t,n)))&&Array.prototype.splice.call(t,n,1),e}function Y(t,n){!function(t,n){for(var e="string"==typeof t?t.split(""):t,i=t.length-1;0<=i;--i)i in e&&n.call(void 0,e[i],i,t)}(t,function(e,i){n.call(void 0,e,i,t)&&Array.prototype.splice.call(t,i,1)})}function z(t){return Array.prototype.concat.apply([],arguments)}function $(t){var n=t.length;if(0<n){for(var e=Array(n),i=0;i<n;i++)e[i]=t[i];return e}return[]}var Z,Q=String.prototype.trim?function(t){return t.trim()}:function(t){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(t)[1]},tt=/&/g,nt=/</g,et=/>/g,it=/"/g,rt=/'/g,ot=/\x00/g,at=/[\x00&<>"']/;function st(t,n){return-1!=t.indexOf(n)}function ut(t,n){return t<n?-1:t>n?1:0}t:{var ct=u.navigator;if(ct){var ht=ct.userAgent;if(ht){Z=ht;break t}}Z=""}function lt(t){return st(Z,t)}function ft(t,n){for(var e in t)n.call(void 0,t[e],e,t)}function dt(t){for(var n in t)return!1;return!0}function pt(t){var n,e={};for(n in t)e[n]=t[n];return e}var vt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function mt(t,n){for(var e,i,r=1;r<arguments.length;r++){for(e in i=arguments[r])t[e]=i[e];for(var o=0;o<vt.length;o++)e=vt[o],Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])}}function gt(t,n){t:{try{var e=t&&t.ownerDocument,i=e&&(e.defaultView||e.parentWindow);if((i=i||u).Element&&i.Location){var r=i;break t}}catch(a){}r=null}if(r&&void 0!==r[n]&&(!t||!(t instanceof r[n])&&(t instanceof r.Location||t instanceof r.Element))){if(v(t))try{var o=t.constructor.displayName||t.constructor.name||Object.prototype.toString.call(t)}catch(a){o="<object could not be stringified>"}else o=void 0===t?"undefined":null===t?"null":typeof t;x("Argument is not a %s (or a non-Element, non-Location mock); got: %s",n,o)}}function bt(t,n){this.a=t===It&&n||"",this.b=wt}function yt(t){return t instanceof bt&&t.constructor===bt&&t.b===wt?t.a:(x("expected object of type Const, got '"+t+"'"),"type_error:Const")}bt.prototype.sa=!0,bt.prototype.ra=function(){return this.a},bt.prototype.toString=function(){return"Const{"+this.a+"}"};var wt={},It={},Tt=new bt(It,"");function Et(t,n){this.a=t===Ot&&n||"",this.b=_t}function At(t){return t instanceof Et&&t.constructor===Et&&t.b===_t?t.a:(x("expected object of type TrustedResourceUrl, got '"+t+"' of type "+f(t)),"type_error:TrustedResourceUrl")}function kt(t,n){var e=yt(t);if(!Nt.test(e))throw Error("Invalid TrustedResourceUrl format: "+e);return t=e.replace(St,function(t,i){if(!Object.prototype.hasOwnProperty.call(n,i))throw Error('Found marker, "'+i+'", in format string, "'+e+'", but no valid label mapping found in args: '+JSON.stringify(n));return(t=n[i])instanceof bt?yt(t):encodeURIComponent(String(t))}),new Et(Ot,t)}Et.prototype.sa=!0,Et.prototype.ra=function(){return this.a.toString()},Et.prototype.toString=function(){return"TrustedResourceUrl{"+this.a+"}"};var St=/%{(\w+)}/g,Nt=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,_t={},Ot={};function Ct(t,n){this.a=t===xt&&n||"",this.b=Lt}function Rt(t){return t instanceof Ct&&t.constructor===Ct&&t.b===Lt?t.a:(x("expected object of type SafeUrl, got '"+t+"' of type "+f(t)),"type_error:SafeUrl")}Ct.prototype.sa=!0,Ct.prototype.ra=function(){return this.a.toString()},Ct.prototype.toString=function(){return"SafeUrl{"+this.a+"}"};var Pt=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function Dt(t){return t instanceof Ct?t:(t="object"==typeof t&&t.sa?t.ra():String(t),Pt.test(t)||(t="about:invalid#zClosurez"),new Ct(xt,t))}var Lt={},xt={};function Mt(){this.a="",this.b=Ut}function jt(t){return t instanceof Mt&&t.constructor===Mt&&t.b===Ut?t.a:(x("expected object of type SafeHtml, got '"+t+"' of type "+f(t)),"type_error:SafeHtml")}Mt.prototype.sa=!0,Mt.prototype.ra=function(){return this.a.toString()},Mt.prototype.toString=function(){return"SafeHtml{"+this.a+"}"};var Ut={};function Vt(t){var n=new Mt;return n.a=t,n}Vt("<!DOCTYPE html>");var Ft=Vt("");function Kt(t,n){for(var e=t.split("%s"),i="",r=Array.prototype.slice.call(arguments,1);r.length&&1<e.length;)i+=e.shift()+r.shift();return i+e.join("%s")}function qt(t){return at.test(t)&&(-1!=t.indexOf("&")&&(t=t.replace(tt,"&")),-1!=t.indexOf("<")&&(t=t.replace(nt,"<")),-1!=t.indexOf(">")&&(t=t.replace(et,">")),-1!=t.indexOf('"')&&(t=t.replace(it,""")),-1!=t.indexOf("'")&&(t=t.replace(rt,"'")),-1!=t.indexOf("\0")&&(t=t.replace(ot,"�"))),t}function Ht(t){return Ht[" "](t),t}Vt("<br>"),Ht[" "]=l;var Gt,Bt,Wt=lt("Opera"),Xt=lt("Trident")||lt("MSIE"),Jt=lt("Edge"),Yt=Jt||Xt,zt=lt("Gecko")&&!(st(Z.toLowerCase(),"webkit")&&!lt("Edge"))&&!(lt("Trident")||lt("MSIE"))&&!lt("Edge"),$t=st(Z.toLowerCase(),"webkit")&&!lt("Edge");function Zt(){var t=u.document;return t?t.documentMode:void 0}t:{var Qt="",tn=(Bt=Z,zt?/rv:([^\);]+)(\)|;)/.exec(Bt):Jt?/Edge\/([\d\.]+)/.exec(Bt):Xt?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(Bt):$t?/WebKit\/(\S+)/.exec(Bt):Wt?/(?:Version)[ \/]?(\S+)/.exec(Bt):void 0);if(tn&&(Qt=tn?tn[1]:""),Xt){var nn=Zt();if(null!=nn&&nn>parseFloat(Qt)){Gt=String(nn);break t}}Gt=Qt}var en,rn={};function on(t){return function(t,n){var e=rn;return Object.prototype.hasOwnProperty.call(e,t)?e[t]:e[t]=n()}(t,function(){for(var n=0,e=Q(String(Gt)).split("."),i=Q(String(t)).split("."),r=Math.max(e.length,i.length),o=0;0==n&&o<r;o++){var a=e[o]||"",s=i[o]||"";do{if(a=/(\d*)(\D*)(.*)/.exec(a)||["","","",""],s=/(\d*)(\D*)(.*)/.exec(s)||["","","",""],0==a[0].length&&0==s[0].length)break;n=ut(0==a[1].length?0:parseInt(a[1],10),0==s[1].length?0:parseInt(s[1],10))||ut(0==a[2].length,0==s[2].length)||ut(a[2],s[2]),a=a[3],s=s[3]}while(0==n)}return 0<=n})}en=u.document&&Xt?Zt():void 0;try{new self.OffscreenCanvas(0,0).getContext("2d")}catch(Bt){}var an=!Xt||9<=Number(en);function sn(t){var n=document;return"string"==typeof t?n.getElementById(t):t}function un(t,n){ft(n,function(n,e){n&&"object"==typeof n&&n.sa&&(n=n.ra()),"style"==e?t.style.cssText=n:"class"==e?t.className=n:"for"==e?t.htmlFor=n:ln.hasOwnProperty(e)?t.setAttribute(ln[e],n):0==e.lastIndexOf("aria-",0)||0==e.lastIndexOf("data-",0)?t.setAttribute(e,n):t[e]=n})}var cn,hn,ln={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};function fn(t,n,e){function i(e){e&&n.appendChild("string"==typeof e?t.createTextNode(e):e)}for(var r=2;r<e.length;r++){var o=e[r];!d(o)||v(o)&&0<o.nodeType?i(o):H(pn(o)?$(o):o,i)}}function dn(t,n){return n=String(n),"application/xhtml+xml"===t.contentType&&(n=n.toLowerCase()),t.createElement(n)}function pn(t){if(t&&"number"==typeof t.length){if(v(t))return"function"==typeof t.item||"string"==typeof t.item;if(p(t))return"function"==typeof t.item}return!1}function vn(t){u.setTimeout(function(){throw t},0)}function mn(t,n){hn||function(){if(u.Promise&&u.Promise.resolve){var t=u.Promise.resolve(void 0);hn=function(){t.then(yn)}}else hn=function(){var t=yn;!p(u.setImmediate)||u.Window&&u.Window.prototype&&!lt("Edge")&&u.Window.prototype.setImmediate==u.setImmediate?(cn||(cn=function(){var t=u.MessageChannel;if(void 0===t&&"undefined"!=typeof window&&window.postMessage&&window.addEventListener&&!lt("Presto")&&(t=function(){var t=dn(document,"IFRAME");t.style.display="none",function(t){var n=new Et(Ot,yt(Tt));gt(t,"HTMLIFrameElement"),t.src=At(n).toString()}(t),document.documentElement.appendChild(t);var n=t.contentWindow;(t=n.document).open(),t.write(jt(Ft)),t.close();var e="callImmediate"+Math.random(),i="file:"==n.location.protocol?"*":n.location.protocol+"//"+n.location.host;t=I(function(t){"*"!=i&&t.origin!=i||t.data!=e||this.port1.onmessage()},this),n.addEventListener("message",t,!1),this.port1={},this.port2={postMessage:function(){n.postMessage(e,i)}}}),void 0!==t&&!lt("Trident")&&!lt("MSIE")){var n=new t,e={},i=e;return n.port1.onmessage=function(){if(void 0!==e.next){var t=(e=e.next).Fb;e.Fb=null,t()}},function(t){i.next={Fb:t},i=i.next,n.port2.postMessage(0)}}return function(t){u.setTimeout(t,0)}}()),cn(t)):u.setImmediate(t)}}(),gn||(hn(),gn=!0),bn.add(t,n)}var gn=!1,bn=new U;function yn(){for(var t;t=F();){try{t.a.call(t.b)}catch(n){vn(n)}j(V,t)}gn=!1}function wn(t,n){if(this.a=In,this.i=void 0,this.f=this.b=this.c=null,this.g=this.h=!1,t!=l)try{var e=this;t.call(n,function(t){Ln(e,Tn,t)},function(t){if(!(t instanceof Kn))try{if(t instanceof Error)throw t;throw Error("Promise rejected.")}catch(n){}Ln(e,En,t)})}catch(i){Ln(this,En,i)}}var In=0,Tn=2,En=3;function An(){this.next=this.f=this.b=this.g=this.a=null,this.c=!1}An.prototype.reset=function(){this.f=this.b=this.g=this.a=null,this.c=!1};var kn=new M(function(){return new An},function(t){t.reset()});function Sn(t,n,e){var i=kn.get();return i.g=t,i.b=n,i.f=e,i}function Nn(t){if(t instanceof wn)return t;var n=new wn(l);return Ln(n,Tn,t),n}function _n(t){return new wn(function(n,e){e(t)})}function On(t,n,e){xn(t,n,e,null)||mn(T(n,t))}function Cn(t){return new wn(function(n){var e=t.length,i=[];if(e)for(var r=function(t,r,o){e--,i[t]=r?{Ob:!0,value:o}:{Ob:!1,reason:o},0==e&&n(i)},o=0;o<t.length;o++)On(t[o],T(r,o,!0),T(r,o,!1));else n(i)})}function Rn(t,n){if(t.a==In)if(t.c){var e=t.c;if(e.b){for(var i=0,r=null,o=null,a=e.b;a&&(a.c||(i++,a.a==t&&(r=a),!(r&&1<i)));a=a.next)r||(o=a);r&&(e.a==In&&1==i?Rn(e,n):(o?((i=o).next==e.f&&(e.f=i),i.next=i.next.next):jn(e),Un(e,r,En,n)))}t.c=null}else Ln(t,En,n)}function Pn(t,n){t.b||t.a!=Tn&&t.a!=En||Mn(t),t.f?t.f.next=n:t.b=n,t.f=n}function Dn(t,n,e,i){var r=Sn(null,null,null);return r.a=new wn(function(t,o){r.g=n?function(e){try{var r=n.call(i,e);t(r)}catch(a){o(a)}}:t,r.b=e?function(n){try{var r=e.call(i,n);void 0===r&&n instanceof Kn?o(n):t(r)}catch(a){o(a)}}:o}),r.a.c=t,Pn(t,r),r.a}function Ln(t,n,e){t.a==In&&(t===e&&(n=En,e=new TypeError("Promise cannot resolve to itself")),t.a=1,xn(e,t.Zc,t.$c,t)||(t.i=e,t.a=n,t.c=null,Mn(t),n!=En||e instanceof Kn||function(t,n){t.g=!0,mn(function(){t.g&&Fn.call(null,n)})}(t,e)))}function xn(t,n,e,i){if(t instanceof wn)return Pn(t,Sn(n||l,e||null,i)),!0;if(P(t))return t.then(n,e,i),!0;if(v(t))try{var r=t.then;if(p(r))return function(t,n,e,i,r){function o(t){a||(a=!0,i.call(r,t))}var a=!1;try{n.call(t,function(t){a||(a=!0,e.call(r,t))},o)}catch(s){o(s)}}(t,r,n,e,i),!0}catch(o){return e.call(i,o),!0}return!1}function Mn(t){t.h||(t.h=!0,mn(t.fc,t))}function jn(t){var n=null;return t.b&&(t.b=(n=t.b).next,n.next=null),t.b||(t.f=null),n}function Un(t,n,e,i){if(e==En&&n.b&&!n.c)for(;t&&t.g;t=t.c)t.g=!1;if(n.a)n.a.c=null,Vn(n,e,i);else try{n.c?n.g.call(n.f):Vn(n,e,i)}catch(r){Fn.call(null,r)}j(kn,n)}function Vn(t,n,e){n==Tn?t.g.call(t.f,e):t.b&&t.b.call(t.f,e)}wn.prototype.then=function(t,n,e){return Dn(this,p(t)?t:null,p(n)?n:null,e)},wn.prototype.$goog_Thenable=!0,(t=wn.prototype).na=function(t,n){return(t=Sn(t,t,n)).c=!0,Pn(this,t),this},t.s=function(t,n){return Dn(this,null,t,n)},t.cancel=function(t){if(this.a==In){var n=new Kn(t);mn(function(){Rn(this,n)},this)}},t.Zc=function(t){this.a=In,Ln(this,Tn,t)},t.$c=function(t){this.a=In,Ln(this,En,t)},t.fc=function(){for(var t;t=jn(this);)Un(this,t,this.a,this.i);this.h=!1};var Fn=vn;function Kn(t){D.call(this,t)}function qn(){0!=Hn&&(Gn[m(this)]=this),this.xa=this.xa,this.oa=this.oa}A(Kn,D),Kn.prototype.name="cancel";var Hn=0,Gn={};function Bn(t){if(!t.xa&&(t.xa=!0,t.Da(),0!=Hn)){var n=m(t);if(0!=Hn&&t.oa&&0<t.oa.length)throw Error(t+" did not empty its onDisposeCallbacks queue. This probably means it overrode dispose() or disposeInternal() without calling the superclass' method.");delete Gn[n]}}qn.prototype.xa=!1,qn.prototype.Da=function(){if(this.oa)for(;this.oa.length;)this.oa.shift()()};var Wn=Object.freeze||function(t){return t},Xn=!Xt||9<=Number(en),Jn=Xt&&!on("9"),Yn=function(){if(!u.addEventListener||!Object.defineProperty)return!1;var t=!1,n=Object.defineProperty({},"passive",{get:function(){t=!0}});try{u.addEventListener("test",l,n),u.removeEventListener("test",l,n)}catch(e){}return t}();function zn(t,n){this.type=t,this.b=this.target=n,this.defaultPrevented=!1}function $n(t,n){if(zn.call(this,t?t.type:""),this.relatedTarget=this.b=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.pointerId=0,this.pointerType="",this.a=null,t){var e=this.type=t.type,i=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:null;if(this.target=t.target||t.srcElement,this.b=n,n=t.relatedTarget){if(zt){t:{try{Ht(n.nodeName);var r=!0;break t}catch(o){}r=!1}r||(n=null)}}else"mouseover"==e?n=t.fromElement:"mouseout"==e&&(n=t.toElement);this.relatedTarget=n,i?(this.clientX=void 0!==i.clientX?i.clientX:i.pageX,this.clientY=void 0!==i.clientY?i.clientY:i.pageY,this.screenX=i.screenX||0,this.screenY=i.screenY||0):(this.clientX=void 0!==t.clientX?t.clientX:t.pageX,this.clientY=void 0!==t.clientY?t.clientY:t.pageY,this.screenX=t.screenX||0,this.screenY=t.screenY||0),this.button=t.button,this.key=t.key||"",this.ctrlKey=t.ctrlKey,this.altKey=t.altKey,this.shiftKey=t.shiftKey,this.metaKey=t.metaKey,this.pointerId=t.pointerId||0,this.pointerType="string"==typeof t.pointerType?t.pointerType:Zn[t.pointerType]||"",this.a=t,t.defaultPrevented&&this.preventDefault()}}zn.prototype.preventDefault=function(){this.defaultPrevented=!0},A($n,zn);var Zn=Wn({2:"touch",3:"pen",4:"mouse"});$n.prototype.preventDefault=function(){$n.$a.preventDefault.call(this);var t=this.a;if(t.preventDefault)t.preventDefault();else if(t.returnValue=!1,Jn)try{(t.ctrlKey||112<=t.keyCode&&123>=t.keyCode)&&(t.keyCode=-1)}catch(n){}},$n.prototype.g=function(){return this.a};var Qn="closure_listenable_"+(1e6*Math.random()|0),te=0;function ne(t,n,e,i,r){this.listener=t,this.proxy=null,this.src=n,this.type=e,this.capture=!!i,this.Ua=r,this.key=++te,this.va=this.Oa=!1}function ee(t){t.va=!0,t.listener=null,t.proxy=null,t.src=null,t.Ua=null}function ie(t){this.src=t,this.a={},this.b=0}function re(t,n){var e=n.type;e in t.a&&J(t.a[e],n)&&(ee(n),0==t.a[e].length&&(delete t.a[e],t.b--))}function oe(t,n,e,i){for(var r=0;r<t.length;++r){var o=t[r];if(!o.va&&o.listener==n&&o.capture==!!e&&o.Ua==i)return r}return-1}ie.prototype.add=function(t,n,e,i,r){var o=t.toString();(t=this.a[o])||(t=this.a[o]=[],this.b++);var a=oe(t,n,i,r);return-1<a?(n=t[a],e||(n.Oa=!1)):((n=new ne(n,this.src,o,!!i,r)).Oa=e,t.push(n)),n};var ae="closure_lm_"+(1e6*Math.random()|0),se={};function ue(t,n,e,i,r){if(i&&i.once)he(t,n,e,i,r);else if(Array.isArray(n))for(var o=0;o<n.length;o++)ue(t,n[o],e,i,r);else e=ye(e),t&&t[Qn]?Ie(t,n,e,v(i)?!!i.capture:!!i,r):ce(t,n,e,!1,i,r)}function ce(t,n,e,i,r,o){if(!n)throw Error("Invalid event type");var a=v(r)?!!r.capture:!!r,s=ge(t);if(s||(t[ae]=s=new ie(t)),!(e=s.add(n,e,i,a,o)).proxy)if(i=function(){var t=me,n=Xn?function(e){return t.call(n.src,n.listener,e)}:function(e){if(!(e=t.call(n.src,n.listener,e)))return e};return n}(),e.proxy=i,i.src=t,i.listener=e,t.addEventListener)Yn||(r=a),void 0===r&&(r=!1),t.addEventListener(n.toString(),i,r);else if(t.attachEvent)t.attachEvent(de(n.toString()),i);else{if(!t.addListener||!t.removeListener)throw Error("addEventListener and attachEvent are unavailable.");t.addListener(i)}}function he(t,n,e,i,r){if(Array.isArray(n))for(var o=0;o<n.length;o++)he(t,n[o],e,i,r);else e=ye(e),t&&t[Qn]?Te(t,n,e,v(i)?!!i.capture:!!i,r):ce(t,n,e,!0,i,r)}function le(t,n,e,i,r){if(Array.isArray(n))for(var o=0;o<n.length;o++)le(t,n[o],e,i,r);else i=v(i)?!!i.capture:!!i,e=ye(e),t&&t[Qn]?(t=t.v,(n=String(n).toString())in t.a&&-1<(e=oe(o=t.a[n],e,i,r))&&(ee(o[e]),Array.prototype.splice.call(o,e,1),0==o.length&&(delete t.a[n],t.b--))):t&&(t=ge(t))&&(n=t.a[n.toString()],t=-1,n&&(t=oe(n,e,i,r)),(e=-1<t?n[t]:null)&&fe(e))}function fe(t){if("number"!=typeof t&&t&&!t.va){var n=t.src;if(n&&n[Qn])re(n.v,t);else{var e=t.type,i=t.proxy;n.removeEventListener?n.removeEventListener(e,i,t.capture):n.detachEvent?n.detachEvent(de(e),i):n.addListener&&n.removeListener&&n.removeListener(i),(e=ge(n))?(re(e,t),0==e.b&&(e.src=null,n[ae]=null)):ee(t)}}}function de(t){return t in se?se[t]:se[t]="on"+t}function pe(t,n,e,i){var r=!0;if((t=ge(t))&&(n=t.a[n.toString()]))for(n=n.concat(),t=0;t<n.length;t++){var o=n[t];o&&o.capture==e&&!o.va&&(o=ve(o,i),r=r&&!1!==o)}return r}function ve(t,n){var e=t.listener,i=t.Ua||t.src;return t.Oa&&fe(t),e.call(i,n)}function me(t,n){if(t.va)return!0;if(!Xn){if(!n)t:{n=["window","event"];for(var e=u,i=0;i<n.length;i++)if(null==(e=e[n[i]])){n=null;break t}n=e}if(n=new $n(i=n,this),e=!0,!(0>i.keyCode||null!=i.returnValue)){t:{var r=!1;if(0==i.keyCode)try{i.keyCode=-1;break t}catch(a){r=!0}(r||null==i.returnValue)&&(i.returnValue=!0)}for(i=[],r=n.b;r;r=r.parentNode)i.push(r);for(t=t.type,r=i.length-1;0<=r;r--){n.b=i[r];var o=pe(i[r],t,!0,n);e=e&&o}for(r=0;r<i.length;r++)n.b=i[r],o=pe(i[r],t,!1,n),e=e&&o}return e}return ve(t,new $n(n,this))}function ge(t){return(t=t[ae])instanceof ie?t:null}var be="__closure_events_fn_"+(1e9*Math.random()>>>0);function ye(t){return p(t)?t:(t[be]||(t[be]=function(n){return t.handleEvent(n)}),t[be])}function we(){qn.call(this),this.v=new ie(this),this.$b=this,this.fb=null}function Ie(t,n,e,i,r){t.v.add(String(n),e,!1,i,r)}function Te(t,n,e,i,r){t.v.add(String(n),e,!0,i,r)}function Ee(t,n,e,i){if(!(n=t.v.a[String(n)]))return!0;n=n.concat();for(var r=!0,o=0;o<n.length;++o){var a=n[o];if(a&&!a.va&&a.capture==e){var s=a.listener,u=a.Ua||a.src;a.Oa&&re(t.v,a),r=!1!==s.call(u,i)&&r}}return r&&!i.defaultPrevented}function Ae(t,n,e){if(p(t))e&&(t=I(t,e));else{if(!t||"function"!=typeof t.handleEvent)throw Error("Invalid listener argument");t=I(t.handleEvent,t)}return 2147483647<Number(n)?-1:u.setTimeout(t,n||0)}function ke(t){var n=null;return new wn(function(e,i){-1==(n=Ae(function(){e(void 0)},t))&&i(Error("Failed to schedule timer."))}).s(function(t){throw u.clearTimeout(n),t})}function Se(t){if(t.V&&"function"==typeof t.V)return t.V();if("string"==typeof t)return t.split("");if(d(t)){for(var n=[],e=t.length,i=0;i<e;i++)n.push(t[i]);return n}for(i in n=[],e=0,t)n[e++]=t[i];return n}function Ne(t){if(t.Y&&"function"==typeof t.Y)return t.Y();if(!t.V||"function"!=typeof t.V){if(d(t)||"string"==typeof t){var n=[];t=t.length;for(var e=0;e<t;e++)n.push(e);return n}for(var i in n=[],e=0,t)n[e++]=i;return n}}function _e(t,n){this.b={},this.a=[],this.c=0;var e=arguments.length;if(1<e){if(e%2)throw Error("Uneven number of arguments");for(var i=0;i<e;i+=2)this.set(arguments[i],arguments[i+1])}else if(t)if(t instanceof _e)for(e=t.Y(),i=0;i<e.length;i++)this.set(e[i],t.get(e[i]));else for(i in t)this.set(i,t[i])}function Oe(t){if(t.c!=t.a.length){for(var n=0,e=0;n<t.a.length;){var i=t.a[n];Ce(t.b,i)&&(t.a[e++]=i),n++}t.a.length=e}if(t.c!=t.a.length){var r={};for(e=n=0;n<t.a.length;)Ce(r,i=t.a[n])||(t.a[e++]=i,r[i]=1),n++;t.a.length=e}}function Ce(t,n){return Object.prototype.hasOwnProperty.call(t,n)}A(we,qn),we.prototype[Qn]=!0,we.prototype.addEventListener=function(t,n,e,i){ue(this,t,n,e,i)},we.prototype.removeEventListener=function(t,n,e,i){le(this,t,n,e,i)},we.prototype.dispatchEvent=function(t){var n,e=this.fb;if(e)for(n=[];e;e=e.fb)n.push(e);e=this.$b;var i=t.type||t;if("string"==typeof t)t=new zn(t,e);else if(t instanceof zn)t.target=t.target||e;else{var r=t;mt(t=new zn(i,e),r)}if(r=!0,n)for(var o=n.length-1;0<=o;o--){var a=t.b=n[o];r=Ee(a,i,!0,t)&&r}if(r=Ee(a=t.b=e,i,!0,t)&&r,r=Ee(a,i,!1,t)&&r,n)for(o=0;o<n.length;o++)r=Ee(a=t.b=n[o],i,!1,t)&&r;return r},we.prototype.Da=function(){if(we.$a.Da.call(this),this.v){var t,n=this.v;for(t in n.a){for(var e=n.a[t],i=0;i<e.length;i++)ee(e[i]);delete n.a[t],n.b--}}this.fb=null},(t=_e.prototype).V=function(){Oe(this);for(var t=[],n=0;n<this.a.length;n++)t.push(this.b[this.a[n]]);return t},t.Y=function(){return Oe(this),this.a.concat()},t.clear=function(){this.b={},this.c=this.a.length=0},t.get=function(t,n){return Ce(this.b,t)?this.b[t]:n},t.set=function(t,n){Ce(this.b,t)||(this.c++,this.a.push(t)),this.b[t]=n},t.forEach=function(t,n){for(var e=this.Y(),i=0;i<e.length;i++){var r=e[i],o=this.get(r);t.call(n,o,r,this)}};var Re=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/\\#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;function Pe(t,n){var e;this.a=this.l=this.f="",this.g=null,this.h=this.c="",this.i=!1,t instanceof Pe?(this.i=void 0!==n?n:t.i,De(this,t.f),this.l=t.l,this.a=t.a,Le(this,t.g),this.c=t.c,xe(this,ti(t.b)),this.h=t.h):t&&(e=String(t).match(Re))?(this.i=!!n,De(this,e[1]||"",!0),this.l=Fe(e[2]||""),this.a=Fe(e[3]||"",!0),Le(this,e[4]),this.c=Fe(e[5]||"",!0),xe(this,e[6]||"",!0),this.h=Fe(e[7]||"")):(this.i=!!n,this.b=new Je(null,this.i))}function De(t,n,e){t.f=e?Fe(n,!0):n,t.f&&(t.f=t.f.replace(/:$/,""))}function Le(t,n){if(n){if(n=Number(n),isNaN(n)||0>n)throw Error("Bad port number "+n);t.g=n}else t.g=null}function xe(t,n,e){n instanceof Je?(t.b=n,function(t,n){n&&!t.f&&(Ye(t),t.c=null,t.a.forEach(function(t,n){var e=n.toLowerCase();n!=e&&($e(this,n),Qe(this,e,t))},t)),t.f=n}(t.b,t.i)):(e||(n=Ke(n,We)),t.b=new Je(n,t.i))}function Me(t,n,e){t.b.set(n,e)}function je(t,n){return t.b.get(n)}function Ue(t){return t instanceof Pe?new Pe(t):new Pe(t,void 0)}function Ve(t,n,e,i){var r=new Pe(null,void 0);return t&&De(r,t),n&&(r.a=n),e&&Le(r,e),i&&(r.c=i),r}function Fe(t,n){return t?n?decodeURI(t.replace(/%25/g,"%2525")):decodeURIComponent(t):""}function Ke(t,n,e){return"string"==typeof t?(t=encodeURI(t).replace(n,qe),e&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function qe(t){return"%"+((t=t.charCodeAt(0))>>4&15).toString(16)+(15&t).toString(16)}Pe.prototype.toString=function(){var t=[],n=this.f;n&&t.push(Ke(n,He,!0),":");var e=this.a;return(e||"file"==n)&&(t.push("//"),(n=this.l)&&t.push(Ke(n,He,!0),"@"),t.push(encodeURIComponent(String(e)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null!=(e=this.g)&&t.push(":",String(e))),(e=this.c)&&(this.a&&"/"!=e.charAt(0)&&t.push("/"),t.push(Ke(e,"/"==e.charAt(0)?Be:Ge,!0))),(e=this.b.toString())&&t.push("?",e),(e=this.h)&&t.push("#",Ke(e,Xe)),t.join("")},Pe.prototype.resolve=function(t){var n=new Pe(this),e=!!t.f;e?De(n,t.f):e=!!t.l,e?n.l=t.l:e=!!t.a,e?n.a=t.a:e=null!=t.g;var i=t.c;if(e)Le(n,t.g);else if(e=!!t.c){if("/"!=i.charAt(0))if(this.a&&!this.c)i="/"+i;else{var r=n.c.lastIndexOf("/");-1!=r&&(i=n.c.substr(0,r+1)+i)}if(".."==(r=i)||"."==r)i="";else if(st(r,"./")||st(r,"/.")){i=0==r.lastIndexOf("/",0),r=r.split("/");for(var o=[],a=0;a<r.length;){var s=r[a++];"."==s?i&&a==r.length&&o.push(""):".."==s?((1<o.length||1==o.length&&""!=o[0])&&o.pop(),i&&a==r.length&&o.push("")):(o.push(s),i=!0)}i=o.join("/")}else i=r}return e?n.c=i:e=""!==t.b.toString(),e?xe(n,ti(t.b)):e=!!t.h,e&&(n.h=t.h),n};var He=/[#\/\?@]/g,Ge=/[#\?:]/g,Be=/[#\?]/g,We=/[#\?@]/g,Xe=/#/g;function Je(t,n){this.b=this.a=null,this.c=t||null,this.f=!!n}function Ye(t){t.a||(t.a=new _e,t.b=0,t.c&&function(t,n){if(t){t=t.split("&");for(var e=0;e<t.length;e++){var i=t[e].indexOf("="),r=null;if(0<=i){var o=t[e].substring(0,i);r=t[e].substring(i+1)}else o=t[e];n(o,r?decodeURIComponent(r.replace(/\+/g," ")):"")}}}(t.c,function(n,e){t.add(decodeURIComponent(n.replace(/\+/g," ")),e)}))}function ze(t){var n=Ne(t);if(void 0===n)throw Error("Keys are undefined");var e=new Je(null,void 0);t=Se(t);for(var i=0;i<n.length;i++){var r=n[i],o=t[i];Array.isArray(o)?Qe(e,r,o):e.add(r,o)}return e}function $e(t,n){Ye(t),n=ni(t,n),Ce(t.a.b,n)&&(t.c=null,t.b-=t.a.get(n).length,Ce((t=t.a).b,n)&&(delete t.b[n],t.c--,t.a.length>2*t.c&&Oe(t)))}function Ze(t,n){return Ye(t),n=ni(t,n),Ce(t.a.b,n)}function Qe(t,n,e){$e(t,n),0<e.length&&(t.c=null,t.a.set(ni(t,n),$(e)),t.b+=e.length)}function ti(t){var n=new Je;return n.c=t.c,t.a&&(n.a=new _e(t.a),n.b=t.b),n}function ni(t,n){return n=String(n),t.f&&(n=n.toLowerCase()),n}function ei(t){var n=[];return ri(new ii,t,n),n.join("")}function ii(){}function ri(t,n,e){if(null==n)e.push("null");else{if("object"==typeof n){if(Array.isArray(n)){var i=n;n=i.length,e.push("[");for(var r="",o=0;o<n;o++)e.push(r),ri(t,i[o],e),r=",";return void e.push("]")}if(!(n instanceof String||n instanceof Number||n instanceof Boolean)){for(i in e.push("{"),r="",n)Object.prototype.hasOwnProperty.call(n,i)&&"function"!=typeof(o=n[i])&&(e.push(r),si(i,e),e.push(":"),ri(t,o,e),r=",");return void e.push("}")}n=n.valueOf()}switch(typeof n){case"string":si(n,e);break;case"number":e.push(isFinite(n)&&!isNaN(n)?String(n):"null");break;case"boolean":e.push(String(n));break;case"function":e.push("null");break;default:throw Error("Unknown type: "+typeof n)}}}(t=Je.prototype).add=function(t,n){Ye(this),this.c=null,t=ni(this,t);var e=this.a.get(t);return e||this.a.set(t,e=[]),e.push(n),this.b+=1,this},t.clear=function(){this.a=this.c=null,this.b=0},t.forEach=function(t,n){Ye(this),this.a.forEach(function(e,i){H(e,function(e){t.call(n,e,i,this)},this)},this)},t.Y=function(){Ye(this);for(var t=this.a.V(),n=this.a.Y(),e=[],i=0;i<n.length;i++)for(var r=t[i],o=0;o<r.length;o++)e.push(n[i]);return e},t.V=function(t){Ye(this);var n=[];if("string"==typeof t)Ze(this,t)&&(n=z(n,this.a.get(ni(this,t))));else{t=this.a.V();for(var e=0;e<t.length;e++)n=z(n,t[e])}return n},t.set=function(t,n){return Ye(this),this.c=null,Ze(this,t=ni(this,t))&&(this.b-=this.a.get(t).length),this.a.set(t,[n]),this.b+=1,this},t.get=function(t,n){return t&&0<(t=this.V(t)).length?String(t[0]):n},t.toString=function(){if(this.c)return this.c;if(!this.a)return"";for(var t=[],n=this.a.Y(),e=0;e<n.length;e++){var i=n[e],r=encodeURIComponent(String(i));i=this.V(i);for(var o=0;o<i.length;o++){var a=r;""!==i[o]&&(a+="="+encodeURIComponent(String(i[o]))),t.push(a)}}return this.c=t.join("&")};var oi={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\u000b"},ai=/\uffff/.test("\uffff")?/[\\"\x00-\x1f\x7f-\uffff]/g:/[\\"\x00-\x1f\x7f-\xff]/g;function si(t,n){n.push('"',t.replace(ai,function(t){var n=oi[t];return n||(n="\\u"+(65536|t.charCodeAt(0)).toString(16).substr(1),oi[t]=n),n}),'"')}function ui(){var t=_i();return Xt&&!!en&&11==en||/Edge\/\d+/.test(t)}function ci(){return u.window&&u.window.location.href||self&&self.location&&self.location.href||""}function hi(t,n){n=n||u.window;var e="about:blank";t&&(e=Rt(Dt(t))),n.location.href=e}function li(t,n){var e,i=[];for(e in t)e in n?typeof t[e]!=typeof n[e]?i.push(e):"object"==typeof t[e]&&null!=t[e]&&null!=n[e]?0<li(t[e],n[e]).length&&i.push(e):t[e]!==n[e]&&i.push(e):i.push(e);for(e in n)e in t||i.push(e);return i}function fi(t){return!!((t=(t||_i()).toLowerCase()).match(/android/)||t.match(/webos/)||t.match(/iphone|ipad|ipod/)||t.match(/blackberry/)||t.match(/windows phone/)||t.match(/iemobile/))}function di(t){t=t||u.window;try{t.close()}catch(n){}}function pi(t,n,e){var i=Math.floor(1e9*Math.random()).toString();n=n||500,e=e||600;var r=(window.screen.availHeight-e)/2,o=(window.screen.availWidth-n)/2;for(a in n={width:n,height:e,top:0<r?r:0,left:0<o?o:0,location:!0,resizable:!0,statusbar:!0,toolbar:!1},e=_i().toLowerCase(),i&&(n.target=i,st(e,"crios/")&&(n.target="_blank")),ki(_i())==Ei&&(t=t||"http://localhost",n.scrollbars=!0),e=t||"",(t=n)||(t={}),i=window,n=e instanceof Ct?e:Dt(void 0!==e.href?e.href:String(e)),e=t.target||e.target,r=[],t)switch(a){case"width":case"height":case"top":case"left":r.push(a+"="+t[a]);break;case"target":case"noopener":case"noreferrer":break;default:r.push(a+"="+(t[a]?1:0))}var a=r.join(",");if((lt("iPhone")&&!lt("iPod")&&!lt("iPad")||lt("iPad")||lt("iPod"))&&i.navigator&&i.navigator.standalone&&e&&"_self"!=e?(gt(a=dn(document,"A"),"HTMLAnchorElement"),n instanceof Ct||n instanceof Ct||(n="object"==typeof n&&n.sa?n.ra():String(n),Pt.test(n)||(n="about:invalid#zClosurez"),n=new Ct(xt,n)),a.href=Rt(n),a.setAttribute("target",e),t.noreferrer&&a.setAttribute("rel","noreferrer"),(t=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,i,1),a.dispatchEvent(t),a={}):t.noreferrer?(a=i.open("",e,a),t=Rt(n),a&&(Yt&&st(t,";")&&(t="'"+t.replace(/'/g,"%27")+"'"),a.opener=null,t=Vt('<meta name="referrer" content="no-referrer"><meta http-equiv="refresh" content="0; url='+qt(t)+'">'),i=a.document)&&(i.write(jt(t)),i.close())):(a=i.open(Rt(n),e,a))&&t.noopener&&(a.opener=null),a)try{a.focus()}catch(s){}return a}var vi=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,mi=/^[^@]+@[^@]+$/;function gi(){var t=null;return new wn(function(n){"complete"==u.document.readyState?n():(t=function(){n()},he(window,"load",t))}).s(function(n){throw le(window,"load",t),n})}function bi(t){return t=t||_i(),!("file:"!==Di()&&"ionic:"!==Di()||!t.toLowerCase().match(/iphone|ipad|ipod|android/))}function yi(){var t=u.window;try{return!(!t||t==t.top)}catch(n){return!1}}function wi(){return void 0!==u.WorkerGlobalScope&&"function"==typeof u.importScripts}function Ii(){return n.INTERNAL.hasOwnProperty("reactNative")?"ReactNative":n.INTERNAL.hasOwnProperty("node")?"Node":wi()?"Worker":"Browser"}function Ti(){var t=Ii();return"ReactNative"===t||"Node"===t}var Ei="Firefox",Ai="Chrome";function ki(t){var n=t.toLowerCase();return st(n,"opera/")||st(n,"opr/")||st(n,"opios/")?"Opera":st(n,"iemobile")?"IEMobile":st(n,"msie")||st(n,"trident/")?"IE":st(n,"edge/")?"Edge":st(n,"firefox/")?Ei:st(n,"silk/")?"Silk":st(n,"blackberry")?"Blackberry":st(n,"webos")?"Webos":!st(n,"safari/")||st(n,"chrome/")||st(n,"crios/")||st(n,"android")?!st(n,"chrome/")&&!st(n,"crios/")||st(n,"edge/")?st(n,"android")?"Android":(t=t.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/))&&2==t.length?t[1]:"Other":Ai:"Safari"}var Si={ld:"FirebaseCore-web",nd:"FirebaseUI-web"};function Ni(t,n){n=n||[];var e,i=[],r={};for(e in Si)r[Si[e]]=!0;for(e=0;e<n.length;e++)void 0!==r[n[e]]&&(delete r[n[e]],i.push(n[e]));return i.sort(),(n=i).length||(n=["FirebaseCore-web"]),"Browser"===(i=Ii())?i=ki(r=_i()):"Worker"===i&&(i=ki(r=_i())+"-"+i),i+"/JsCore/"+t+"/"+n.join(",")}function _i(){return u.navigator&&u.navigator.userAgent||""}function Oi(t,n){t=t.split("."),n=n||u;for(var e=0;e<t.length&&"object"==typeof n&&null!=n;e++)n=n[t[e]];return e!=t.length&&(n=void 0),n}function Ci(){try{var t=u.localStorage,n=Ui();if(t)return t.setItem(n,"1"),t.removeItem(n),!ui()||!!u.indexedDB}catch(e){return wi()&&!!u.indexedDB}return!1}function Ri(){return(Pi()||"chrome-extension:"===Di()||bi())&&!Ti()&&Ci()&&!wi()}function Pi(){return"http:"===Di()||"https:"===Di()}function Di(){return u.location&&u.location.protocol||null}function Li(t){return!fi(t=t||_i())&&ki(t)!=Ei}function xi(t){return void 0===t?null:ei(t)}function Mi(t){var n,e={};for(n in t)t.hasOwnProperty(n)&&null!=t[n]&&(e[n]=t[n]);return e}function ji(t){if(null!==t)return JSON.parse(t)}function Ui(t){return t||Math.floor(1e9*Math.random()).toString()}function Vi(t){return"Safari"!=ki(t=t||_i())&&!t.toLowerCase().match(/iphone|ipad|ipod/)}function Fi(){var t=u.___jsl;if(t&&t.H)for(var n in t.H)if(t.H[n].r=t.H[n].r||[],t.H[n].L=t.H[n].L||[],t.H[n].r=t.H[n].L.concat(),t.CP)for(var e=0;e<t.CP.length;e++)t.CP[e]=null}function Ki(t,n){if(t>n)throw Error("Short delay should be less than long delay!");this.a=t,this.c=n,t=_i(),n=Ii(),this.b=fi(t)||"ReactNative"===n}function qi(){var t=u.document;return!t||void 0===t.visibilityState||"visible"==t.visibilityState}function Hi(t){"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(t)}function Gi(t){try{var n=new Date(parseInt(t,10));if(!isNaN(n.getTime())&&!/[^0-9]/.test(t))return n.toUTCString()}catch(e){}return null}function Bi(){return!(!Oi("fireauth.oauthhelper",u)&&!Oi("fireauth.iframe",u))}Ki.prototype.get=function(){var t=u.navigator;return!t||"boolean"!=typeof t.onLine||!Pi()&&"chrome-extension:"!==Di()&&void 0===t.connection||t.onLine?this.b?this.c:this.a:Math.min(5e3,this.a)};var Wi,Xi={};function Ji(t){Xi[t]||(Xi[t]=!0,Hi(t))}try{var Yi={};Object.defineProperty(Yi,"abcd",{configurable:!0,enumerable:!0,value:1}),Object.defineProperty(Yi,"abcd",{configurable:!0,enumerable:!0,value:2}),Wi=2==Yi.abcd}catch(Bt){Wi=!1}function zi(t,n,e){Wi?Object.defineProperty(t,n,{configurable:!0,enumerable:!0,value:e}):t[n]=e}function $i(t,n){if(n)for(var e in n)n.hasOwnProperty(e)&&zi(t,e,n[e])}function Zi(t){var n={};return $i(n,t),n}function Qi(t){var n=t;if("object"==typeof t&&null!=t)for(var e in n="length"in t?[]:{},t)zi(n,e,Qi(t[e]));return n}function tr(t){var n=t&&(t[or]?"phone":null);if(!(n&&t&&t[rr]))throw new k("internal-error","Internal assert: invalid MultiFactorInfo object");zi(this,"uid",t[rr]),zi(this,"displayName",t[er]||null);var e=null;t[ir]&&(e=new Date(t[ir]).toUTCString()),zi(this,"enrollmentTime",e),zi(this,"factorId",n)}function nr(t){try{var n=new ar(t)}catch(e){n=null}return n}tr.prototype.w=function(){return{uid:this.uid,displayName:this.displayName,factorId:this.factorId,enrollmentTime:this.enrollmentTime}};var er="displayName",ir="enrolledAt",rr="mfaEnrollmentId",or="phoneInfo";function ar(t){tr.call(this,t),zi(this,"phoneNumber",t[or])}function sr(t){var n={},e=t[lr],i=t[dr],r=t[pr];if(t=nr(t[fr]),!r||r!=cr&&r!=hr&&!e||r==hr&&!i||r==ur&&!t)throw Error("Invalid checkActionCode response!");r==hr?(n[mr]=e||null,n[br]=e||null,n[vr]=i):(n[mr]=i||null,n[br]=i||null,n[vr]=e||null),n[gr]=t||null,zi(this,wr,r),zi(this,yr,Qi(n))}A(ar,tr),ar.prototype.w=function(){var t=ar.$a.w.call(this);return t.phoneNumber=this.phoneNumber,t};var ur="REVERT_SECOND_FACTOR_ADDITION",cr="EMAIL_SIGNIN",hr="VERIFY_AND_CHANGE_EMAIL",lr="email",fr="mfaInfo",dr="newEmail",pr="requestType",vr="email",mr="fromEmail",gr="multiFactorInfo",br="previousEmail",yr="data",wr="operation";function Ir(t){var n=je(t=Ue(t),Tr)||null,e=je(t,Er)||null,i=je(t,Sr)||null;if(i=i&&_r[i]||null,!n||!e||!i)throw new k("argument-error",Tr+", "+Er+"and "+Sr+" are required in a valid action code URL.");$i(this,{apiKey:n,operation:i,code:e,continueUrl:je(t,Ar)||null,languageCode:je(t,kr)||null,tenantId:je(t,Nr)||null})}var Tr="apiKey",Er="oobCode",Ar="continueUrl",kr="languageCode",Sr="mode",Nr="tenantId",_r={recoverEmail:"RECOVER_EMAIL",resetPassword:"PASSWORD_RESET",revertSecondFactorAddition:ur,signIn:cr,verifyAndChangeEmail:hr,verifyEmail:"VERIFY_EMAIL"};function Or(t){try{return new Ir(t)}catch(n){return null}}function Cr(t){var n=t[xr];if(void 0===n)throw new k("missing-continue-uri");if("string"!=typeof n||"string"==typeof n&&!n.length)throw new k("invalid-continue-uri");this.h=n,this.b=this.a=null,this.g=!1;var e=t[Rr];if(e&&"object"==typeof e){n=e[Ur];var i=e[Mr];if(e=e[jr],"string"==typeof n&&n.length){if(this.a=n,void 0!==i&&"boolean"!=typeof i)throw new k("argument-error",Mr+" property must be a boolean when specified.");if(this.g=!!i,void 0!==e&&("string"!=typeof e||"string"==typeof e&&!e.length))throw new k("argument-error",jr+" property must be a non empty string when specified.");this.b=e||null}else{if(void 0!==n)throw new k("argument-error",Ur+" property must be a non empty string when specified.");if(void 0!==i||void 0!==e)throw new k("missing-android-pkg-name")}}else if(void 0!==e)throw new k("argument-error",Rr+" property must be a non null object when specified.");if(this.f=null,(n=t[Lr])&&"object"==typeof n){if("string"==typeof(n=n[Vr])&&n.length)this.f=n;else if(void 0!==n)throw new k("argument-error",Vr+" property must be a non empty string when specified.")}else if(void 0!==n)throw new k("argument-error",Lr+" property must be a non null object when specified.");if(void 0!==(n=t[Dr])&&"boolean"!=typeof n)throw new k("argument-error",Dr+" property must be a boolean when specified.");if(this.c=!!n,void 0!==(t=t[Pr])&&("string"!=typeof t||"string"==typeof t&&!t.length))throw new k("argument-error",Pr+" property must be a non empty string when specified.");this.i=t||null}var Rr="android",Pr="dynamicLinkDomain",Dr="handleCodeInApp",Lr="iOS",xr="url",Mr="installApp",jr="minimumVersion",Ur="packageName",Vr="bundleId";function Fr(t){var n={};for(var e in n.continueUrl=t.h,n.canHandleCodeInApp=t.c,(n.androidPackageName=t.a)&&(n.androidMinimumVersion=t.b,n.androidInstallApp=t.g),n.iOSBundleId=t.f,n.dynamicLinkDomain=t.i,n)null===n[e]&&delete n[e];return n}var Kr=null;function qr(t){var n=Gr(t);if(!(n&&n.sub&&n.iss&&n.aud&&n.exp))throw Error("Invalid JWT");this.g=t,this.c=n.exp,this.h=n.sub,E(),this.a=n.provider_id||n.firebase&&n.firebase.sign_in_provider||null,this.f=n.firebase&&n.firebase.tenant||null,this.b=!!n.is_anonymous||"anonymous"==this.a}function Hr(t){try{return new qr(t)}catch(n){return null}}function Gr(t){if(!t)return null;if(3!=(t=t.split(".")).length)return null;for(var n=(4-(t=t[1]).length%4)%4,e=0;e<n;e++)t+=".";try{return JSON.parse(function(t){var n="";return function(t,n){function e(n){for(;i<t.length;){var e=t.charAt(i++),r=Kr[e];if(null!=r)return r;if(!/^[\s\xa0]*$/.test(e))throw Error("Unknown base64 encoding at char: "+e)}return n}!function(){if(!Kr){Kr={};for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),n=["+/=","+/","-_=","-_.","-_"],e=0;5>e;e++)for(var i=t.concat(n[e].split("")),r=0;r<i.length;r++){var o=i[r];void 0===Kr[o]&&(Kr[o]=r)}}}();for(var i=0;;){var r=e(-1),o=e(0),a=e(64),s=e(64);if(64===s&&-1===r)break;n(r<<2|o>>4),64!=a&&(n(o<<4&240|a>>2),64!=s&&n(a<<6&192|s))}}(t,function(t){n+=String.fromCharCode(t)}),n}(t))}catch(i){}return null}qr.prototype.S=function(){return this.f},qr.prototype.i=function(){return this.b},qr.prototype.toString=function(){return this.g};var Br="oauth_consumer_key oauth_nonce oauth_signature oauth_signature_method oauth_timestamp oauth_token oauth_version".split(" "),Wr=["client_id","response_type","scope","redirect_uri","state"],Xr={md:{Ja:"locale",ua:700,ta:600,fa:"facebook.com",Wa:Wr},od:{Ja:null,ua:500,ta:750,fa:"github.com",Wa:Wr},pd:{Ja:"hl",ua:515,ta:680,fa:"google.com",Wa:Wr},vd:{Ja:"lang",ua:485,ta:705,fa:"twitter.com",Wa:Br},jd:{Ja:"locale",ua:640,ta:600,fa:"apple.com",Wa:[]}};function Jr(t){for(var n in Xr)if(Xr[n].fa==t)return Xr[n];return null}function Yr(t){var n={};n["facebook.com"]=to,n["google.com"]=eo,n["github.com"]=no,n["twitter.com"]=io;var e=t&&t[$r];try{if(e)return n[e]?new n[e](t):new Qr(t);if(void 0!==t[zr])return new Zr(t)}catch(i){}return null}var zr="idToken",$r="providerId";function Zr(t){var n=t[$r];if(!n&&t[zr]){var e=Hr(t[zr]);e&&e.a&&(n=e.a)}if(!n)throw Error("Invalid additional user info!");"anonymous"!=n&&"custom"!=n||(n=null),e=!1,void 0!==t.isNewUser?e=!!t.isNewUser:"identitytoolkit#SignupNewUserResponse"===t.kind&&(e=!0),zi(this,"providerId",n),zi(this,"isNewUser",e)}function Qr(t){Zr.call(this,t),zi(this,"profile",Qi((t=ji(t.rawUserInfo||"{}"))||{}))}function to(t){if(Qr.call(this,t),"facebook.com"!=this.providerId)throw Error("Invalid provider ID!")}function no(t){if(Qr.call(this,t),"github.com"!=this.providerId)throw Error("Invalid provider ID!");zi(this,"username",this.profile&&this.profile.login||null)}function eo(t){if(Qr.call(this,t),"google.com"!=this.providerId)throw Error("Invalid provider ID!")}function io(t){if(Qr.call(this,t),"twitter.com"!=this.providerId)throw Error("Invalid provider ID!");zi(this,"username",t.screenName||null)}function ro(t){var n=Ue(t),e=je(n,"link"),i=je(Ue(e),"link");return n=je(n,"deep_link_id"),je(Ue(n),"link")||n||i||e||t}function oo(t,n){if(!t&&!n)throw new k("internal-error","Internal assert: no raw session string available");if(t&&n)throw new k("internal-error","Internal assert: unable to determine the session type");this.a=t||null,this.b=n||null,this.type=this.a?ao:so}A(Qr,Zr),A(to,Qr),A(no,Qr),A(eo,Qr),A(io,Qr);var ao="enroll",so="signin";function uo(){}function co(t,n){return t.then(function(t){if(t[za]){var e=Hr(t[za]);if(!e||n!=e.h)throw new k("user-mismatch");return t}throw new k("user-mismatch")}).s(function(t){throw t&&t.code&&t.code==_+"user-not-found"?new k("user-mismatch"):t})}function ho(t,n){if(!n)throw new k("internal-error","failed to construct a credential");this.a=n,zi(this,"providerId",t),zi(this,"signInMethod",t)}function lo(t){return{pendingToken:t.a,requestUri:"http://localhost"}}function fo(t){if(t&&t.providerId&&t.signInMethod&&0==t.providerId.indexOf("saml.")&&t.pendingToken)try{return new ho(t.providerId,t.pendingToken)}catch(n){}return null}function po(t,n,e){if(this.a=null,n.idToken||n.accessToken)n.idToken&&zi(this,"idToken",n.idToken),n.accessToken&&zi(this,"accessToken",n.accessToken),n.nonce&&!n.pendingToken&&zi(this,"nonce",n.nonce),n.pendingToken&&(this.a=n.pendingToken);else{if(!n.oauthToken||!n.oauthTokenSecret)throw new k("internal-error","failed to construct a credential");zi(this,"accessToken",n.oauthToken),zi(this,"secret",n.oauthTokenSecret)}zi(this,"providerId",t),zi(this,"signInMethod",e)}function vo(t){var n={};return t.idToken&&(n.id_token=t.idToken),t.accessToken&&(n.access_token=t.accessToken),t.secret&&(n.oauth_token_secret=t.secret),n.providerId=t.providerId,t.nonce&&!t.a&&(n.nonce=t.nonce),n={postBody:ze(n).toString(),requestUri:"http://localhost"},t.a&&(delete n.postBody,n.pendingToken=t.a),n}function mo(t){if(t&&t.providerId&&t.signInMethod){var n={idToken:t.oauthIdToken,accessToken:t.oauthTokenSecret?null:t.oauthAccessToken,oauthTokenSecret:t.oauthTokenSecret,oauthToken:t.oauthTokenSecret&&t.oauthAccessToken,nonce:t.nonce,pendingToken:t.pendingToken};try{return new po(t.providerId,n,t.signInMethod)}catch(e){}}return null}function go(t,n){this.Pc=n||[],$i(this,{providerId:t,isOAuthProvider:!0}),this.Hb={},this.ob=(Jr(t)||{}).Ja||null,this.nb=null}function bo(t){if("string"!=typeof t||0!=t.indexOf("saml."))throw new k("argument-error",'SAML provider IDs must be prefixed with "saml."');go.call(this,t,[])}function yo(t){go.call(this,t,Wr),this.a=[]}function wo(){yo.call(this,"facebook.com")}function Io(t){if(!t)throw new k("argument-error","credential failed: expected 1 argument (the OAuth access token).");var n=t;return v(t)&&(n=t.accessToken),(new wo).credential({accessToken:n})}function To(){yo.call(this,"github.com")}function Eo(t){if(!t)throw new k("argument-error","credential failed: expected 1 argument (the OAuth access token).");var n=t;return v(t)&&(n=t.accessToken),(new To).credential({accessToken:n})}function Ao(){yo.call(this,"google.com"),this.Ca("profile")}function ko(t,n){var e=t;return v(t)&&(e=t.idToken,n=t.accessToken),(new Ao).credential({idToken:e,accessToken:n})}function So(){go.call(this,"twitter.com",Br)}function No(t,n){var e=t;if(v(e)||(e={oauthToken:t,oauthTokenSecret:n}),!e.oauthToken||!e.oauthTokenSecret)throw new k("argument-error","credential failed: expected 2 arguments (the OAuth access token and secret).");return new po("twitter.com",e,"twitter.com")}function _o(t,n,e){this.a=t,this.f=n,zi(this,"providerId","password"),zi(this,"signInMethod",e===Co.EMAIL_LINK_SIGN_IN_METHOD?Co.EMAIL_LINK_SIGN_IN_METHOD:Co.EMAIL_PASSWORD_SIGN_IN_METHOD)}function Oo(t){return t&&t.email&&t.password?new _o(t.email,t.password,t.signInMethod):null}function Co(){$i(this,{providerId:"password",isOAuthProvider:!1})}function Ro(t,n){if(!(n=Po(n)))throw new k("argument-error","Invalid email link!");return new _o(t,n.code,Co.EMAIL_LINK_SIGN_IN_METHOD)}function Po(t){return(t=Or(t=ro(t)))&&t.operation===cr?t:null}function Do(t){if(!(t.cb&&t.bb||t.La&&t.ea))throw new k("internal-error");this.a=t,zi(this,"providerId","phone"),this.fa="phone",zi(this,"signInMethod","phone")}function Lo(t){if(t&&"phone"===t.providerId&&(t.verificationId&&t.verificationCode||t.temporaryProof&&t.phoneNumber)){var n={};return H(["verificationId","verificationCode","temporaryProof","phoneNumber"],function(e){t[e]&&(n[e]=t[e])}),new Do(n)}return null}function xo(t){return t.a.La&&t.a.ea?{temporaryProof:t.a.La,phoneNumber:t.a.ea}:{sessionInfo:t.a.cb,code:t.a.bb}}function Mo(t){try{this.a=t||n.auth()}catch(e){throw new k("argument-error","Either an instance of firebase.auth.Auth must be passed as an argument to the firebase.auth.PhoneAuthProvider constructor, or the default firebase App instance must be initialized via firebase.initializeApp().")}$i(this,{providerId:"phone",isOAuthProvider:!1})}function jo(t,n){if(!t)throw new k("missing-verification-id");if(!n)throw new k("missing-verification-code");return new Do({cb:t,bb:n})}function Uo(t){if(t.temporaryProof&&t.phoneNumber)return new Do({La:t.temporaryProof,ea:t.phoneNumber});var n=t&&t.providerId;if(!n||"password"===n)return null;var e=t&&t.oauthAccessToken,i=t&&t.oauthTokenSecret,r=t&&t.nonce,o=t&&t.oauthIdToken,a=t&&t.pendingToken;try{switch(n){case"google.com":return ko(o,e);case"facebook.com":return Io(e);case"github.com":return Eo(e);case"twitter.com":return No(e,i);default:return e||i||o||a?a?0==n.indexOf("saml.")?new ho(n,a):new po(n,{pendingToken:a,idToken:t.oauthIdToken,accessToken:t.oauthAccessToken},n):new yo(n).credential({idToken:o,accessToken:e,rawNonce:r}):null}}catch(s){return null}}function Vo(t){if(!t.isOAuthProvider)throw new k("invalid-oauth-provider")}function Fo(t,n,e,i,r,o,a){if(this.c=t,this.b=n||null,this.g=e||null,this.f=i||null,this.i=o||null,this.h=a||null,this.a=r||null,!this.g&&!this.a)throw new k("invalid-auth-event");if(this.g&&this.a)throw new k("invalid-auth-event");if(this.g&&!this.f)throw new k("invalid-auth-event")}function Ko(t){return(t=t||{}).type?new Fo(t.type,t.eventId,t.urlResponse,t.sessionId,t.error&&S(t.error),t.postBody,t.tenantId):null}function qo(){this.b=null,this.a=[]}oo.prototype.Ha=function(){return Nn(this.a?this.a:this.b)},oo.prototype.w=function(){return this.type==ao?{multiFactorSession:{idToken:this.a}}:{multiFactorSession:{pendingCredential:this.b}}},uo.prototype.ja=function(){},uo.prototype.b=function(){},uo.prototype.c=function(){},uo.prototype.w=function(){},ho.prototype.ja=function(t){return gs(t,lo(this))},ho.prototype.b=function(t,n){var e=lo(this);return e.idToken=n,bs(t,e)},ho.prototype.c=function(t,n){return co(ys(t,lo(this)),n)},ho.prototype.w=function(){return{providerId:this.providerId,signInMethod:this.signInMethod,pendingToken:this.a}},po.prototype.ja=function(t){return gs(t,vo(this))},po.prototype.b=function(t,n){var e=vo(this);return e.idToken=n,bs(t,e)},po.prototype.c=function(t,n){return co(ys(t,vo(this)),n)},po.prototype.w=function(){var t={providerId:this.providerId,signInMethod:this.signInMethod};return this.idToken&&(t.oauthIdToken=this.idToken),this.accessToken&&(t.oauthAccessToken=this.accessToken),this.secret&&(t.oauthTokenSecret=this.secret),this.nonce&&(t.nonce=this.nonce),this.a&&(t.pendingToken=this.a),t},go.prototype.Ka=function(t){return this.Hb=pt(t),this},A(bo,go),A(yo,go),yo.prototype.Ca=function(t){return X(this.a,t)||this.a.push(t),this},yo.prototype.Pb=function(){return $(this.a)},yo.prototype.credential=function(t,n){var e;if(!(e=v(t)?{idToken:t.idToken||null,accessToken:t.accessToken||null,nonce:t.rawNonce||null}:{idToken:t||null,accessToken:n||null}).idToken&&!e.accessToken)throw new k("argument-error","credential failed: must provide the ID token and/or the access token.");return new po(this.providerId,e,this.providerId)},A(wo,yo),zi(wo,"PROVIDER_ID","facebook.com"),zi(wo,"FACEBOOK_SIGN_IN_METHOD","facebook.com"),A(To,yo),zi(To,"PROVIDER_ID","github.com"),zi(To,"GITHUB_SIGN_IN_METHOD","github.com"),A(Ao,yo),zi(Ao,"PROVIDER_ID","google.com"),zi(Ao,"GOOGLE_SIGN_IN_METHOD","google.com"),A(So,go),zi(So,"PROVIDER_ID","twitter.com"),zi(So,"TWITTER_SIGN_IN_METHOD","twitter.com"),_o.prototype.ja=function(t){return this.signInMethod==Co.EMAIL_LINK_SIGN_IN_METHOD?tu(t,Ns,{email:this.a,oobCode:this.f}):tu(t,Ys,{email:this.a,password:this.f})},_o.prototype.b=function(t,n){return this.signInMethod==Co.EMAIL_LINK_SIGN_IN_METHOD?tu(t,_s,{idToken:n,email:this.a,oobCode:this.f}):tu(t,Ks,{idToken:n,email:this.a,password:this.f})},_o.prototype.c=function(t,n){return co(this.ja(t),n)},_o.prototype.w=function(){return{email:this.a,password:this.f,signInMethod:this.signInMethod}},$i(Co,{PROVIDER_ID:"password"}),$i(Co,{EMAIL_LINK_SIGN_IN_METHOD:"emailLink"}),$i(Co,{EMAIL_PASSWORD_SIGN_IN_METHOD:"password"}),Do.prototype.ja=function(t){return t.eb(xo(this))},Do.prototype.b=function(t,n){var e=xo(this);return e.idToken=n,tu(t,$s,e)},Do.prototype.c=function(t,n){var e=xo(this);return e.operation="REAUTH",co(t=tu(t,Zs,e),n)},Do.prototype.w=function(){var t={providerId:"phone"};return this.a.cb&&(t.verificationId=this.a.cb),this.a.bb&&(t.verificationCode=this.a.bb),this.a.La&&(t.temporaryProof=this.a.La),this.a.ea&&(t.phoneNumber=this.a.ea),t},Mo.prototype.eb=function(t,n){var e=this.a.a;return Nn(n.verify()).then(function(i){if("string"!=typeof i)throw new k("argument-error","An implementation of firebase.auth.ApplicationVerifier.prototype.verify() must return a firebase.Promise that resolves with a string.");switch(n.type){case"recaptcha":var r=v(t)?t.session:null,o=v(t)?t.phoneNumber:t;return(r&&r.type==ao?r.Ha().then(function(t){return function(t,n){return tu(t,Hs,n).then(function(t){return t.phoneSessionInfo.sessionInfo})}(e,{idToken:t,phoneEnrollmentInfo:{phoneNumber:o,recaptchaToken:i}})}):r&&r.type==so?r.Ha().then(function(n){return function(t,n){return tu(t,Gs,n).then(function(t){return t.phoneResponseInfo.sessionInfo})}(e,{mfaPendingCredential:n,mfaEnrollmentId:t.multiFactorHint&&t.multiFactorHint.uid||t.multiFactorUid,phoneSignInInfo:{recaptchaToken:i}})}):function(t,n){return tu(t,Vs,n)}(e,{phoneNumber:o,recaptchaToken:i})).then(function(t){return"function"==typeof n.reset&&n.reset(),t},function(t){throw"function"==typeof n.reset&&n.reset(),t});default:throw new k("argument-error",'Only firebase.auth.ApplicationVerifiers with type="recaptcha" are currently supported.')}})},$i(Mo,{PROVIDER_ID:"phone"}),$i(Mo,{PHONE_SIGN_IN_METHOD:"phone"}),Fo.prototype.getUid=function(){var t=[];return t.push(this.c),this.b&&t.push(this.b),this.f&&t.push(this.f),this.h&&t.push(this.h),t.join("-")},Fo.prototype.S=function(){return this.h},Fo.prototype.w=function(){return{type:this.c,eventId:this.b,urlResponse:this.g,sessionId:this.f,postBody:this.i,tenantId:this.h,error:this.a&&this.a.w()}};var Ho,Go=null;function Bo(t){var n="unauthorized-domain",e=void 0,i=Ue(t);t=i.a,"chrome-extension"==(i=i.f)?e=Kt("This chrome extension ID (chrome-extension://%s) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab.",t):"http"==i||"https"==i?e=Kt("This domain (%s) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab.",t):n="operation-not-supported-in-this-environment",k.call(this,n,e)}function Wo(t,n,e){k.call(this,t,e),(t=n||{}).Ib&&zi(this,"email",t.Ib),t.ea&&zi(this,"phoneNumber",t.ea),t.credential&&zi(this,"credential",t.credential),t.Yb&&zi(this,"tenantId",t.Yb)}function Xo(t){if(t.code){var n=t.code||"";0==n.indexOf(_)&&(n=n.substring(_.length));var e={credential:Uo(t),Yb:t.tenantId};if(t.email)e.Ib=t.email;else if(t.phoneNumber)e.ea=t.phoneNumber;else if(!e.credential)return new k(n,t.message||void 0);return new Wo(n,e,t.message)}return null}function Jo(){}function Yo(){}function zo(t){if(!t.f&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var n=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],e=0;e<n.length;e++){var i=n[e];try{return new ActiveXObject(i),t.f=i}catch(r){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed")}return t.f}function $o(){}function Zo(){this.a=new XDomainRequest,this.readyState=0,this.onreadystatechange=null,this.responseType=this.responseText=this.response="",this.status=-1,this.statusText="",this.a.onload=I(this.pc,this),this.a.onerror=I(this.Rb,this),this.a.onprogress=I(this.qc,this),this.a.ontimeout=I(this.uc,this)}function Qo(t,n){t.readyState=n,t.onreadystatechange&&t.onreadystatechange()}function ta(t,n,e){this.reset(t,n,e,void 0,void 0)}function na(t){this.f=t,this.b=this.c=this.a=null}function ea(t,n){this.name=t,this.value=n}A(Bo,k),A(Wo,k),Wo.prototype.w=function(){var t={code:this.code,message:this.message};this.email&&(t.email=this.email),this.phoneNumber&&(t.phoneNumber=this.phoneNumber),this.tenantId&&(t.tenantId=this.tenantId);var n=this.credential&&this.credential.w();return n&&mt(t,n),t},Wo.prototype.toJSON=function(){return this.w()},Jo.prototype.c=null,A(Yo,Jo),Yo.prototype.a=function(){var t=zo(this);return t?new ActiveXObject(t):new XMLHttpRequest},Yo.prototype.b=function(){var t={};return zo(this)&&(t[0]=!0,t[1]=!0),t},Ho=new Yo,A($o,Jo),$o.prototype.a=function(){var t=new XMLHttpRequest;if("withCredentials"in t)return t;if("undefined"!=typeof XDomainRequest)return new Zo;throw Error("Unsupported browser")},$o.prototype.b=function(){return{}},(t=Zo.prototype).open=function(t,n,e){if(null!=e&&!e)throw Error("Only async requests are supported.");this.a.open(t,n)},t.send=function(t){if(t){if("string"!=typeof t)throw Error("Only string data is supported");this.a.send(t)}else this.a.send()},t.abort=function(){this.a.abort()},t.setRequestHeader=function(){},t.getResponseHeader=function(t){return"content-type"==t.toLowerCase()?this.a.contentType:""},t.pc=function(){this.status=200,this.response=this.responseText=this.a.responseText,Qo(this,4)},t.Rb=function(){this.status=500,this.response=this.responseText="",Qo(this,4)},t.uc=function(){this.Rb()},t.qc=function(){this.status=200,Qo(this,1)},t.getAllResponseHeaders=function(){return"content-type: "+this.a.contentType},ta.prototype.a=null,ta.prototype.reset=function(t,n,e,i,r){i||E(),delete this.a},ea.prototype.toString=function(){return this.name};var ia=new ea("SEVERE",1e3),ra=new ea("WARNING",900),oa=new ea("CONFIG",700),aa=new ea("FINE",500);function sa(t){return t.c?t.c:t.a?sa(t.a):(x("Root logger has no level set."),null)}na.prototype.log=function(t,n,e){if(t.value>=sa(this).value)for(p(n)&&(n=n()),t=new ta(t,String(n),this.f),e&&(t.a=e),e=this;e;)e=e.a};var ua={},ca=null;function ha(t){var n;if(ca||(ca=new na(""),ua[""]=ca,ca.c=oa),!(n=ua[t])){n=new na(t);var e=t.lastIndexOf("."),i=t.substr(e+1);(e=ha(t.substr(0,e))).b||(e.b={}),e.b[i]=n,n.a=e,ua[t]=n}return n}function la(t,n){t&&t.log(aa,n,void 0)}function fa(t){this.f=t}function da(t){we.call(this),this.o=t,this.readyState=pa,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.i=new Headers,this.b=null,this.m="GET",this.g="",this.a=!1,this.h=ha("goog.net.FetchXmlHttp"),this.l=this.c=this.f=null}A(fa,Jo),fa.prototype.a=function(){return new da(this.f)},fa.prototype.b=function(t){return function(){return t}}({}),A(da,we);var pa=0;function va(t){t.c.read().then(t.oc.bind(t)).catch(t.Ta.bind(t))}function ma(t,n){n&&t.f&&(t.status=t.f.status,t.statusText=t.f.statusText),t.readyState=4,t.f=null,t.c=null,t.l=null,ga(t)}function ga(t){t.onreadystatechange&&t.onreadystatechange.call(t)}function ba(t){we.call(this),this.headers=new _e,this.O=t||null,this.c=!1,this.A=this.a=null,this.h=this.P=this.l="",this.f=this.N=this.i=this.G=!1,this.g=0,this.o=null,this.m=ya,this.u=this.R=!1}(t=da.prototype).open=function(t,n){if(this.readyState!=pa)throw this.abort(),Error("Error reopening a connection");this.m=t,this.g=n,this.readyState=1,ga(this)},t.send=function(t){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");this.a=!0;var n={headers:this.i,method:this.m,credentials:void 0,cache:void 0};t&&(n.body=t),this.o.fetch(new Request(this.g,n)).then(this.tc.bind(this),this.Ta.bind(this))},t.abort=function(){this.response=this.responseText="",this.i=new Headers,this.status=0,this.c&&this.c.cancel("Request was aborted."),1<=this.readyState&&this.a&&4!=this.readyState&&(this.a=!1,ma(this,!1)),this.readyState=pa},t.tc=function(t){this.a&&(this.f=t,this.b||(this.b=t.headers,this.readyState=2,ga(this)),this.a&&(this.readyState=3,ga(this),this.a&&("arraybuffer"===this.responseType?t.arrayBuffer().then(this.rc.bind(this),this.Ta.bind(this)):void 0!==u.ReadableStream&&"body"in t?(this.response=this.responseText="",this.c=t.body.getReader(),this.l=new TextDecoder,va(this)):t.text().then(this.sc.bind(this),this.Ta.bind(this)))))},t.oc=function(t){if(this.a){var n=this.l.decode(t.value?t.value:new Uint8Array(0),{stream:!t.done});n&&(this.response=this.responseText+=n),t.done?ma(this,!0):ga(this),3==this.readyState&&va(this)}},t.sc=function(t){this.a&&(this.response=this.responseText=t,ma(this,!0))},t.rc=function(t){this.a&&(this.response=t,ma(this,!0))},t.Ta=function(t){var n=this.h;n&&n.log(ra,"Failed to fetch url "+this.g,t instanceof Error?t:Error(t)),this.a&&ma(this,!0)},t.setRequestHeader=function(t,n){this.i.append(t,n)},t.getResponseHeader=function(t){return this.b?this.b.get(t.toLowerCase())||"":((t=this.h)&&t.log(ra,"Attempting to get response header but no headers have been received for url: "+this.g,void 0),"")},t.getAllResponseHeaders=function(){if(!this.b){var t=this.h;return t&&t.log(ra,"Attempting to get all response headers but no headers have been received for url: "+this.g,void 0),""}t=[];for(var n=this.b.entries(),e=n.next();!e.done;)t.push((e=e.value)[0]+": "+e[1]),e=n.next();return t.join("\r\n")},A(ba,we);var ya="";ba.prototype.b=ha("goog.net.XhrIo");var wa=/^https?$/i,Ia=["POST","PUT"];function Ta(t){return"content-type"==t.toLowerCase()}function Ea(t,n){t.c=!1,t.a&&(t.f=!0,t.a.abort(),t.f=!1),t.h=n,Aa(t),Sa(t)}function Aa(t){t.G||(t.G=!0,t.dispatchEvent("complete"),t.dispatchEvent("error"))}function ka(t){if(t.c&&void 0!==s)if(t.A[1]&&4==_a(t)&&2==Oa(t))la(t.b,Ca(t,"Local request error detected and ignored"));else if(t.i&&4==_a(t))Ae(t.Ub,0,t);else if(t.dispatchEvent("readystatechange"),4==_a(t)){la(t.b,Ca(t,"Request complete")),t.c=!1;try{var n,e=Oa(t);t:switch(e){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var i=!0;break t;default:i=!1}if(!(n=i)){var r;if(r=0===e){var o=String(t.l).match(Re)[1]||null;if(!o&&u.self&&u.self.location){var a=u.self.location.protocol;o=a.substr(0,a.length-1)}r=!wa.test(o?o.toLowerCase():"")}n=r}if(n)t.dispatchEvent("complete"),t.dispatchEvent("success");else{try{var c=2<_a(t)?t.a.statusText:""}catch(h){la(t.b,"Can not get status: "+h.message),c=""}t.h=c+" ["+Oa(t)+"]",Aa(t)}}finally{Sa(t)}}}function Sa(t,n){if(t.a){Na(t);var e=t.a,i=t.A[0]?l:null;t.a=null,t.A=null,n||t.dispatchEvent("ready");try{e.onreadystatechange=i}catch(r){(t=t.b)&&t.log(ia,"Problem encountered resetting onreadystatechange: "+r.message,void 0)}}}function Na(t){t.a&&t.u&&(t.a.ontimeout=null),t.o&&(u.clearTimeout(t.o),t.o=null)}function _a(t){return t.a?t.a.readyState:0}function Oa(t){try{return 2<_a(t)?t.a.status:-1}catch(n){return-1}}function Ca(t,n){return n+" ["+t.P+" "+t.l+" "+Oa(t)+"]"}function Ra(t){var n=qa;this.g=[],this.u=n,this.o=t||null,this.f=this.a=!1,this.c=void 0,this.m=this.A=this.i=!1,this.h=0,this.b=null,this.l=0}function Pa(t,n,e){t.a=!0,t.c=e,t.f=!n,Ma(t)}function Da(t){if(t.a){if(!t.m)throw new ja(t);t.m=!1}}function La(t,n,e,i){t.g.push([n,e,i]),t.a&&Ma(t)}function xa(t){return W(t.g,function(t){return p(t[1])})}function Ma(t){if(t.h&&t.a&&xa(t)){var n=t.h,e=Fa[n];e&&(u.clearTimeout(e.a),delete Fa[n]),t.h=0}t.b&&(t.b.l--,delete t.b),n=t.c;for(var i=e=!1;t.g.length&&!t.i;){var r=t.g.shift(),o=r[0],a=r[1];if(r=r[2],o=t.f?a:o)try{var s=o.call(r||t.o,n);void 0!==s&&(t.f=t.f&&(s==n||s instanceof Error),t.c=n=s),(P(n)||"function"==typeof u.Promise&&n instanceof u.Promise)&&(i=!0,t.i=!0)}catch(c){n=c,t.f=!0,xa(t)||(e=!0)}}t.c=n,i&&(s=I(t.v,t,!0),i=I(t.v,t,!1),n instanceof Ra?(La(n,s,i),n.A=!0):n.then(s,i)),e&&(n=new Va(n),Fa[n.a]=n,t.h=n.a)}function ja(){D.call(this)}function Ua(){D.call(this)}function Va(t){this.a=u.setTimeout(I(this.c,this),0),this.b=t}(t=ba.prototype).Ma=function(){void 0!==s&&this.a&&(this.h="Timed out after "+this.g+"ms, aborting",la(this.b,Ca(this,this.h)),this.dispatchEvent("timeout"),this.abort(8))},t.abort=function(){this.a&&this.c&&(la(this.b,Ca(this,"Aborting")),this.c=!1,this.f=!0,this.a.abort(),this.f=!1,this.dispatchEvent("complete"),this.dispatchEvent("abort"),Sa(this))},t.Da=function(){this.a&&(this.c&&(this.c=!1,this.f=!0,this.a.abort(),this.f=!1),Sa(this,!0)),ba.$a.Da.call(this)},t.Ub=function(){this.xa||(this.N||this.i||this.f?ka(this):this.Ic())},t.Ic=function(){ka(this)},t.getResponse=function(){try{if(!this.a)return null;if("response"in this.a)return this.a.response;switch(this.m){case ya:case"text":return this.a.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in this.a)return this.a.mozResponseArrayBuffer}var t=this.b;return t&&t.log(ia,"Response type "+this.m+" is not supported on this browser",void 0),null}catch(n){return la(this.b,"Can not get response: "+n.message),null}},Ra.prototype.cancel=function(t){if(this.a)this.c instanceof Ra&&this.c.cancel();else{if(this.b){var n=this.b;delete this.b,t?n.cancel(t):(n.l--,0>=n.l&&n.cancel())}this.u?this.u.call(this.o,this):this.m=!0,this.a||(t=new Ua(this),Da(this),Pa(this,!1,t))}},Ra.prototype.v=function(t,n){this.i=!1,Pa(this,t,n)},Ra.prototype.then=function(t,n,e){var i,r,o=new wn(function(t,n){i=t,r=n});return La(this,i,function(t){t instanceof Ua?o.cancel():r(t)}),o.then(t,n,e)},Ra.prototype.$goog_Thenable=!0,A(ja,D),ja.prototype.message="Deferred has already fired",ja.prototype.name="AlreadyCalledError",A(Ua,D),Ua.prototype.message="Deferred was canceled",Ua.prototype.name="CanceledError",Va.prototype.c=function(){throw delete Fa[this.a],this.b};var Fa={};function Ka(t){var n={},e=n.document||document,i=At(t).toString(),r=dn(document,"SCRIPT"),o={Vb:r,Ma:void 0},a=new Ra(o),s=null,l=null!=n.timeout?n.timeout:5e3;return 0<l&&(s=window.setTimeout(function(){Ha(r,!0);var t=new Wa(Ba,"Timeout reached for loading script "+i);Da(a),Pa(a,!1,t)},l),o.Ma=s),r.onload=r.onreadystatechange=function(){r.readyState&&"loaded"!=r.readyState&&"complete"!=r.readyState||(Ha(r,n.wd||!1,s),Da(a),Pa(a,!0,null))},r.onerror=function(){Ha(r,!0,s);var t=new Wa(Ga,"Error while loading script "+i);Da(a),Pa(a,!1,t)},mt(o=n.attributes||{},{type:"text/javascript",charset:"UTF-8"}),un(r,o),function(t,n){gt(t,"HTMLScriptElement"),t.src=At(n),null===h&&(h=(n=(n=u.document).querySelector&&n.querySelector("script[nonce]"))&&(n=n.nonce||n.getAttribute("nonce"))&&c.test(n)?n:""),(n=h)&&t.setAttribute("nonce",n)}(r,t),function(t){var n;return(n=(t||document).getElementsByTagName("HEAD"))&&0!=n.length?n[0]:t.documentElement}(e).appendChild(r),a}function qa(){if(this&&this.Vb){var t=this.Vb;t&&"SCRIPT"==t.tagName&&Ha(t,!0,this.Ma)}}function Ha(t,n,e){null!=e&&u.clearTimeout(e),t.onload=l,t.onerror=l,t.onreadystatechange=l,n&&window.setTimeout(function(){t&&t.parentNode&&t.parentNode.removeChild(t)},0)}var Ga=0,Ba=1;function Wa(t,n){var e="Jsloader error (code #"+t+")";n&&(e+=": "+n),D.call(this,e),this.code=t}function Xa(t){this.f=t}function Ja(t,e,i){if(this.c=t,this.l=(t=e||{}).secureTokenEndpoint||"https://securetoken.googleapis.com/v1/token",this.v=t.secureTokenTimeout||$a,this.g=pt(t.secureTokenHeaders||Za),this.h=t.firebaseEndpoint||"https://www.googleapis.com/identitytoolkit/v3/relyingparty/",this.i=t.identityPlatformEndpoint||"https://identitytoolkit.googleapis.com/v2/",this.m=t.firebaseTimeout||Qa,this.a=pt(t.firebaseHeaders||ts),i&&(this.a["X-Client-Version"]=i,this.g["X-Client-Version"]=i),i="Node"==Ii(),!(i=u.XMLHttpRequest||i&&n.INTERNAL.node&&n.INTERNAL.node.XMLHttpRequest)&&!wi())throw new k("internal-error","The XMLHttpRequest compatibility library was not found.");this.f=void 0,this.f=wi()?new fa(self):Ti()?new Xa(i):new $o,this.b=null}A(Wa,D),A(Xa,Jo),Xa.prototype.a=function(){return new this.f},Xa.prototype.b=function(){return{}};var Ya,za="idToken",$a=new Ki(3e4,6e4),Za={"Content-Type":"application/x-www-form-urlencoded"},Qa=new Ki(3e4,6e4),ts={"Content-Type":"application/json"};function ns(t,n){n?t.a["X-Firebase-Locale"]=n:delete t.a["X-Firebase-Locale"]}function es(t,n){n&&(t.l=is("https://securetoken.googleapis.com/v1/token",n),t.h=is("https://www.googleapis.com/identitytoolkit/v3/relyingparty/",n),t.i=is("https://identitytoolkit.googleapis.com/v2/",n))}function is(t,n){return t=Ue(t),n=Ue(n.url),t.c=t.a+t.c,De(t,n.f),t.a=n.a,Le(t,n.g),t.toString()}function rs(t,n){n?(t.a["X-Client-Version"]=n,t.g["X-Client-Version"]=n):(delete t.a["X-Client-Version"],delete t.g["X-Client-Version"])}function os(t,n,e,i,r,o,a){(function(){var t=_i();return!((t=ki(t)!=Ai?null:(t=t.match(/\sChrome\/(\d+)/i))&&2==t.length?parseInt(t[1],10):null)&&30>t||Xt&&en&&!(9<en))})()||wi()?t=I(t.u,t):(Ya||(Ya=new wn(function(t,n){!function(t,n){((window.gapi||{}).client||{}).request?t():(u[ss]=function(){((window.gapi||{}).client||{}).request?t():n(Error("CORS_UNSUPPORTED"))},function(t,n){La(t,null,n,void 0)}(Ka(kt(as,{onload:ss})),function(){n(Error("CORS_UNSUPPORTED"))}))}(t,n)})),t=I(t.o,t)),t(n,e,i,r,o,a)}Ja.prototype.S=function(){return this.b},Ja.prototype.u=function(t,n,e,i,r,o){if(wi()&&(void 0===u.fetch||void 0===u.Headers||void 0===u.Request))throw new k("operation-not-supported-in-this-environment","fetch, Headers and Request native APIs or equivalent Polyfills must be available to support HTTP requests from a Worker environment.");var a=new ba(this.f);if(o){a.g=Math.max(0,o);var s=setTimeout(function(){a.dispatchEvent("timeout")},o)}Ie(a,"complete",function(){s&&clearTimeout(s);var t=null;try{t=JSON.parse(function(t){try{return t.a?t.a.responseText:""}catch(n){return la(t.b,"Can not get responseText: "+n.message),""}}(this))||null}catch(e){t=null}n&&n(t)}),Te(a,"ready",function(){s&&clearTimeout(s),Bn(this)}),Te(a,"timeout",function(){s&&clearTimeout(s),Bn(this),n&&n(null)}),function(t,n,e,i,r){if(t.a)throw Error("[goog.net.XhrIo] Object is active with another request="+t.l+"; newUri="+n);e=e?e.toUpperCase():"GET",t.l=n,t.h="",t.P=e,t.G=!1,t.c=!0,t.a=t.O?t.O.a():Ho.a(),t.A=function(t){return t.c||(t.c=t.b())}(t.O?t.O:Ho),t.a.onreadystatechange=I(t.Ub,t);try{la(t.b,Ca(t,"Opening Xhr")),t.N=!0,t.a.open(e,String(n),!0),t.N=!1}catch(a){return la(t.b,Ca(t,"Error opening Xhr: "+a.message)),void Ea(t,a)}n=i||"";var o=new _e(t.headers);r&&function(t,n){if(t.forEach&&"function"==typeof t.forEach)t.forEach(n,void 0);else if(d(t)||"string"==typeof t)H(t,n,void 0);else for(var e=Ne(t),i=Se(t),r=i.length,o=0;o<r;o++)n.call(void 0,i[o],e&&e[o],t)}(r,function(t,n){o.set(n,t)}),r=function(t){t:{for(var n=Ta,e=t.length,i="string"==typeof t?t.split(""):t,r=0;r<e;r++)if(r in i&&n.call(void 0,i[r],r,t)){n=r;break t}n=-1}return 0>n?null:"string"==typeof t?t.charAt(n):t[n]}(o.Y()),i=u.FormData&&n instanceof u.FormData,!X(Ia,e)||r||i||o.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),o.forEach(function(t,n){this.a.setRequestHeader(n,t)},t),t.m&&(t.a.responseType=t.m),"withCredentials"in t.a&&t.a.withCredentials!==t.R&&(t.a.withCredentials=t.R);try{Na(t),0<t.g&&(t.u=function(t){return Xt&&on(9)&&"number"==typeof t.timeout&&void 0!==t.ontimeout}(t.a),la(t.b,Ca(t,"Will abort after "+t.g+"ms if incomplete, xhr2 "+t.u)),t.u?(t.a.timeout=t.g,t.a.ontimeout=I(t.Ma,t)):t.o=Ae(t.Ma,t.g,t)),la(t.b,Ca(t,"Sending request")),t.i=!0,t.a.send(n),t.i=!1}catch(a){la(t.b,Ca(t,"Send error: "+a.message)),Ea(t,a)}}(a,t,e,i,r)};var as=new bt(It,"https://apis.google.com/js/client.js?onload=%{onload}"),ss="__fcb"+Math.floor(1e6*Math.random()).toString();function us(t){if("string"!=typeof(t=t.email)||!mi.test(t))throw new k("invalid-email")}function cs(t){"email"in t&&us(t)}function hs(t){if(!t[za]){if(t.mfaPendingCredential)throw new k("multi-factor-auth-required",null,pt(t));throw new k("internal-error")}}function ls(t){if(t.phoneNumber||t.temporaryProof){if(!t.phoneNumber||!t.temporaryProof)throw new k("internal-error")}else{if(!t.sessionInfo)throw new k("missing-verification-id");if(!t.code)throw new k("missing-verification-code")}}Ja.prototype.o=function(t,n,e,i,r){var o=this;Ya.then(function(){window.gapi.client.setApiKey(o.c);var a=window.gapi.auth.getToken();window.gapi.auth.setToken(null),window.gapi.client.request({path:t,method:e,body:i,headers:r,authType:"none",callback:function(t){window.gapi.auth.setToken(a),n&&n(t)}})}).s(function(t){n&&n({error:{message:t&&t.message||"CORS_UNSUPPORTED"}})})},Ja.prototype.yb=function(){return tu(this,qs,{})},Ja.prototype.Ab=function(t,n){return tu(this,Fs,{idToken:t,email:n})},Ja.prototype.Bb=function(t,n){return tu(this,Ks,{idToken:t,password:n})};var fs={displayName:"DISPLAY_NAME",photoUrl:"PHOTO_URL"};function ds(t){if(!t.phoneVerificationInfo)throw new k("internal-error");if(!t.phoneVerificationInfo.sessionInfo)throw new k("missing-verification-id");if(!t.phoneVerificationInfo.code)throw new k("missing-verification-code")}function ps(t){if(!t.requestUri||!t.sessionId&&!t.postBody&&!t.pendingToken)throw new k("internal-error")}function vs(t,n){return n.oauthIdToken&&n.providerId&&0==n.providerId.indexOf("oidc.")&&!n.pendingToken&&(t.sessionId?n.nonce=t.sessionId:t.postBody&&Ze(t=new Je(t.postBody),"nonce")&&(n.nonce=t.get("nonce"))),n}function ms(t){var n=null;if(t.needConfirmation?(t.code="account-exists-with-different-credential",n=Xo(t)):"FEDERATED_USER_ID_ALREADY_LINKED"==t.errorMessage?(t.code="credential-already-in-use",n=Xo(t)):"EMAIL_EXISTS"==t.errorMessage?(t.code="email-already-in-use",n=Xo(t)):t.errorMessage&&(n=nu(t.errorMessage)),n)throw n;hs(t)}function gs(t,n){return n.returnIdpCredential=!0,tu(t,Bs,n)}function bs(t,n){return n.returnIdpCredential=!0,tu(t,Xs,n)}function ys(t,n){return n.returnIdpCredential=!0,n.autoCreate=!1,tu(t,Ws,n)}function ws(t){if(!t.oobCode)throw new k("invalid-action-code")}(t=Ja.prototype).Cb=function(t,n){var e={idToken:t},i=[];return ft(fs,function(t,r){var o=n[r];null===o?i.push(t):r in n&&(e[r]=o)}),i.length&&(e.deleteAttribute=i),tu(this,Fs,e)},t.ub=function(t,n){return mt(t={requestType:"PASSWORD_RESET",email:t},n),tu(this,xs,t)},t.vb=function(t,n){return mt(t={requestType:"EMAIL_SIGNIN",email:t},n),tu(this,Ps,t)},t.tb=function(t,n){return mt(t={requestType:"VERIFY_EMAIL",idToken:t},n),tu(this,Ds,t)},t.Db=function(t,n,e){return mt(t={requestType:"VERIFY_AND_CHANGE_EMAIL",idToken:t,newEmail:n},e),tu(this,Ls,t)},t.eb=function(t){return tu(this,zs,t)},t.mb=function(t,n){return tu(this,Us,{oobCode:t,newPassword:n})},t.Qa=function(t){return tu(this,Ts,{oobCode:t})},t.ib=function(t){return tu(this,Is,{oobCode:t})};var Is={endpoint:"setAccountInfo",B:ws,Z:"email",C:!0},Ts={endpoint:"resetPassword",B:ws,F:function(t){var n=t.requestType;if(!n||!t.email&&"EMAIL_SIGNIN"!=n&&"VERIFY_AND_CHANGE_EMAIL"!=n)throw new k("internal-error")},C:!0},Es={endpoint:"signupNewUser",B:function(t){if(us(t),!t.password)throw new k("weak-password")},F:hs,U:!0,C:!0},As={endpoint:"createAuthUri",C:!0},ks={endpoint:"deleteAccount",M:["idToken"]},Ss={endpoint:"setAccountInfo",M:["idToken","deleteProvider"],B:function(t){if("array"!=f(t.deleteProvider))throw new k("internal-error")}},Ns={endpoint:"emailLinkSignin",M:["email","oobCode"],B:us,F:hs,U:!0,C:!0},_s={endpoint:"emailLinkSignin",M:["idToken","email","oobCode"],B:us,F:hs,U:!0},Os={endpoint:"accounts/mfaEnrollment:finalize",M:["idToken","phoneVerificationInfo"],B:ds,F:hs,C:!0,Na:!0},Cs={endpoint:"accounts/mfaSignIn:finalize",M:["mfaPendingCredential","phoneVerificationInfo"],B:ds,F:hs,C:!0,Na:!0},Rs={endpoint:"getAccountInfo"},Ps={endpoint:"getOobConfirmationCode",M:["requestType"],B:function(t){if("EMAIL_SIGNIN"!=t.requestType)throw new k("internal-error");us(t)},Z:"email",C:!0},Ds={endpoint:"getOobConfirmationCode",M:["idToken","requestType"],B:function(t){if("VERIFY_EMAIL"!=t.requestType)throw new k("internal-error")},Z:"email",C:!0},Ls={endpoint:"getOobConfirmationCode",M:["idToken","newEmail","requestType"],B:function(t){if("VERIFY_AND_CHANGE_EMAIL"!=t.requestType)throw new k("internal-error")},Z:"email",C:!0},xs={endpoint:"getOobConfirmationCode",M:["requestType"],B:function(t){if("PASSWORD_RESET"!=t.requestType)throw new k("internal-error");us(t)},Z:"email",C:!0},Ms={kb:!0,endpoint:"getProjectConfig",Tb:"GET"},js={kb:!0,endpoint:"getRecaptchaParam",Tb:"GET",F:function(t){if(!t.recaptchaSiteKey)throw new k("internal-error")}},Us={endpoint:"resetPassword",B:ws,Z:"email",C:!0},Vs={endpoint:"sendVerificationCode",M:["phoneNumber","recaptchaToken"],Z:"sessionInfo",C:!0},Fs={endpoint:"setAccountInfo",M:["idToken"],B:cs,U:!0},Ks={endpoint:"setAccountInfo",M:["idToken"],B:function(t){if(cs(t),!t.password)throw new k("weak-password")},F:hs,U:!0},qs={endpoint:"signupNewUser",F:hs,U:!0,C:!0},Hs={endpoint:"accounts/mfaEnrollment:start",M:["idToken","phoneEnrollmentInfo"],B:function(t){if(!t.phoneEnrollmentInfo)throw new k("internal-error");if(!t.phoneEnrollmentInfo.phoneNumber)throw new k("missing-phone-number");if(!t.phoneEnrollmentInfo.recaptchaToken)throw new k("missing-app-credential")},F:function(t){if(!t.phoneSessionInfo||!t.phoneSessionInfo.sessionInfo)throw new k("internal-error")},C:!0,Na:!0},Gs={endpoint:"accounts/mfaSignIn:start",M:["mfaPendingCredential","mfaEnrollmentId","phoneSignInInfo"],B:function(t){if(!t.phoneSignInInfo||!t.phoneSignInInfo.recaptchaToken)throw new k("missing-app-credential")},F:function(t){if(!t.phoneResponseInfo||!t.phoneResponseInfo.sessionInfo)throw new k("internal-error")},C:!0,Na:!0},Bs={endpoint:"verifyAssertion",B:ps,Xa:vs,F:ms,U:!0,C:!0},Ws={endpoint:"verifyAssertion",B:ps,Xa:vs,F:function(t){if(t.errorMessage&&"USER_NOT_FOUND"==t.errorMessage)throw new k("user-not-found");if(t.errorMessage)throw nu(t.errorMessage);hs(t)},U:!0,C:!0},Xs={endpoint:"verifyAssertion",B:function(t){if(ps(t),!t.idToken)throw new k("internal-error")},Xa:vs,F:ms,U:!0},Js={endpoint:"verifyCustomToken",B:function(t){if(!t.token)throw new k("invalid-custom-token")},F:hs,U:!0,C:!0},Ys={endpoint:"verifyPassword",B:function(t){if(us(t),!t.password)throw new k("wrong-password")},F:hs,U:!0,C:!0},zs={endpoint:"verifyPhoneNumber",B:ls,F:hs,C:!0},$s={endpoint:"verifyPhoneNumber",B:function(t){if(!t.idToken)throw new k("internal-error");ls(t)},F:function(t){if(t.temporaryProof)throw t.code="credential-already-in-use",Xo(t);hs(t)}},Zs={Gb:{USER_NOT_FOUND:"user-not-found"},endpoint:"verifyPhoneNumber",B:ls,F:hs,C:!0},Qs={endpoint:"accounts/mfaEnrollment:withdraw",M:["idToken","mfaEnrollmentId"],F:function(t){if(!!t[za]^!!t.refreshToken)throw new k("internal-error")},C:!0,Na:!0};function tu(t,n,e){if(!function(t,n){if(!n||!n.length)return!0;if(!t)return!1;for(var e=0;e<n.length;e++){var i=t[n[e]];if(null==i||""===i)return!1}return!0}(e,n.M))return _n(new k("internal-error"));var i,r=!!n.Na,o=n.Tb||"POST";return Nn(e).then(n.B).then(function(){return n.U&&(e.returnSecureToken=!0),n.C&&t.b&&void 0===e.tenantId&&(e.tenantId=t.b),function(t,n,e,i,r,o,a){var s=Ue(n+e);Me(s,"key",t.c),a&&Me(s,"cb",E().toString());var u="GET"==i;if(u)for(var c in r)r.hasOwnProperty(c)&&Me(s,c,r[c]);return new wn(function(n,e){os(t,s.toString(),function(t){t?t.error?e(eu(t,o||{})):n(t):e(new k("network-request-failed"))},i,u?void 0:ei(Mi(r)),t.a,t.m.get())})}(t,r?t.i:t.h,n.endpoint,o,e,n.Gb,n.kb||!1)}).then(function(t){return i=t,n.Xa?n.Xa(e,i):i}).then(n.F).then(function(){if(!n.Z)return i;if(!(n.Z in i))throw new k("internal-error");return i[n.Z]})}function nu(t){return eu({error:{errors:[{message:t}],code:400,message:t}})}function eu(t,n){var e=(t.error&&t.error.errors&&t.error.errors[0]||{}).reason||"",i={keyInvalid:"invalid-api-key",ipRefererBlocked:"app-not-authorized"};if(e=i[e]?new k(i[e]):null)return e;for(var r in e=t.error&&t.error.message||"",mt(i={INVALID_CUSTOM_TOKEN:"invalid-custom-token",CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_EMAIL:"invalid-email",INVALID_PASSWORD:"wrong-password",USER_DISABLED:"user-disabled",MISSING_PASSWORD:"internal-error",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_OR_INVALID_NONCE:"missing-or-invalid-nonce",INVALID_MESSAGE_PAYLOAD:"invalid-message-payload",INVALID_RECIPIENT_EMAIL:"invalid-recipient-email",INVALID_SENDER:"invalid-sender",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",INVALID_PROVIDER_ID:"invalid-provider-id",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",CORS_UNSUPPORTED:"cors-unsupported",DYNAMIC_LINK_NOT_ACTIVATED:"dynamic-link-not-activated",INVALID_APP_ID:"invalid-app-id",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",WEAK_PASSWORD:"weak-password",OPERATION_NOT_ALLOWED:"operation-not-allowed",USER_CANCELLED:"user-cancelled",CAPTCHA_CHECK_FAILED:"captcha-check-failed",INVALID_APP_CREDENTIAL:"invalid-app-credential",INVALID_CODE:"invalid-verification-code",INVALID_PHONE_NUMBER:"invalid-phone-number",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_APP_CREDENTIAL:"missing-app-credential",MISSING_CODE:"missing-verification-code",MISSING_PHONE_NUMBER:"missing-phone-number",MISSING_SESSION_INFO:"missing-verification-id",QUOTA_EXCEEDED:"quota-exceeded",SESSION_EXPIRED:"code-expired",REJECTED_CREDENTIAL:"rejected-credential",INVALID_CONTINUE_URI:"invalid-continue-uri",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",MISSING_IOS_BUNDLE_ID:"missing-ios-bundle-id",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_DYNAMIC_LINK_DOMAIN:"invalid-dynamic-link-domain",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",INVALID_CERT_HASH:"invalid-cert-hash",UNSUPPORTED_TENANT_OPERATION:"unsupported-tenant-operation",INVALID_TENANT_ID:"invalid-tenant-id",TENANT_ID_MISMATCH:"tenant-id-mismatch",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",EMAIL_CHANGE_NEEDS_VERIFICATION:"email-change-needs-verification",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",UNSUPPORTED_FIRST_FACTOR:"unsupported-first-factor",UNVERIFIED_EMAIL:"unverified-email"},n||{}),n=(n=e.match(/^[^\s]+\s*:\s*([\s\S]*)$/))&&1<n.length?n[1]:void 0,i)if(0===e.indexOf(r))return new k(i[r],n);return!n&&t&&(n=xi(t)),new k("internal-error",n)}function iu(t){this.b=t,this.a=null,this.qb=function(t){return(su||(su=new wn(function(t,n){function e(){Fi(),Oi("gapi.load")("gapi.iframes",{callback:t,ontimeout:function(){Fi(),n(Error("Network Error"))},timeout:ou.get()})}if(Oi("gapi.iframes.Iframe"))t();else if(Oi("gapi.load"))e();else{var i="__iframefcb"+Math.floor(1e6*Math.random()).toString();u[i]=function(){Oi("gapi.load")?e():n(Error("Network Error"))},Nn(Ka(i=kt(ru,{onload:i}))).s(function(){n(Error("Network Error"))})}}).s(function(t){throw su=null,t}))).then(function(){return new wn(function(n,e){Oi("gapi.iframes.getContext")().open({where:document.body,url:t.b,messageHandlersFilter:Oi("gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER"),attributes:{style:{position:"absolute",top:"-100px",width:"1px",height:"1px"}},dontclear:!0},function(i){function r(){clearTimeout(o),n()}t.a=i,t.a.restyle({setHideOnLeave:!1});var o=setTimeout(function(){e(Error("Network Error"))},au.get());i.ping(r).then(r,function(){e(Error("Network Error"))})})})})}(this)}var ru=new bt(It,"https://apis.google.com/js/api.js?onload=%{onload}"),ou=new Ki(3e4,6e4),au=new Ki(5e3,15e3),su=null;function uu(t,n,e,i){this.l=t,this.h=n,this.i=e,this.g=i,this.f=null,t=this.g?Ve((t=Ue(this.g.url)).f,t.a,t.g,"/emulator/auth/iframe"):Ve("https",this.l,null,"/__/auth/iframe"),this.a=t,Me(this.a,"apiKey",this.h),Me(this.a,"appName",this.i),this.b=null,this.c=[]}function cu(t,n,e,i,r,o){this.u=t,this.o=n,this.c=e,this.v=i,this.m=o,this.i=this.g=this.l=null,this.a=r,this.h=this.f=null}function hu(t){try{return n.app(t).auth().Ga()}catch(e){return[]}}function lu(t,n,e,i,r,o){this.o=t,this.g=n,this.b=e,this.f=o,this.c=i||null,this.i=r||null,this.l=this.u=this.A=null,this.h=[],this.v=this.a=null}function fu(t){var n=ci();return function(t){return tu(t,Ms,{}).then(function(t){return t.authorizedDomains||[]})}(t).then(function(t){t:{var e=Ue(n),i=e.f;e=e.a;for(var r=0;r<t.length;r++){var o=t[r],a=e,s=i;if(0==o.indexOf("chrome-extension://")?a=Ue(o).a==a&&"chrome-extension"==s:"http"!=s&&"https"!=s?a=!1:vi.test(o)?a=a==o:(o=o.split(".").join("\\."),a=new RegExp("^(.+\\."+o+"|"+o+")$","i").test(a)),a){t=!0;break t}}t=!1}if(!t)throw new Bo(ci())})}function du(t){return t.v||(t.v=gi().then(function(){if(!t.u){var n=t.c,e=t.i,i=hu(t.b),r=new uu(t.o,t.g,t.b,t.f);r.f=n,r.b=e,r.c=$(i||[]),t.u=r.toString()}t.m=new iu(t.u),function(t){if(!t.m)throw Error("IfcHandler must be initialized!");!function(t,n){t.qb.then(function(){t.a.register("authEvent",n,Oi("gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER"))})}(t.m,function(n){var e={};if(n&&n.authEvent){var i=!1;for(n=Ko(n.authEvent),e=0;e<t.h.length;e++)i=t.h[e](n)||i;return(e={}).status=i?"ACK":"ERROR",Nn(e)}return e.status="ERROR",Nn(e)})}(t)})),t.v}function pu(t){return t.l||(t.A=t.c?Ni(t.c,hu(t.b)):null,t.l=new Ja(t.g,R(t.i),t.A),t.f&&es(t.l,t.f)),t.l}function vu(t,n,e,i,r,o,a,s,u,c,h,l){return(t=new cu(t,n,e,i,r,l)).l=o,t.g=a,t.i=s,t.b=pt(u||null),t.f=c,t.xb(h).toString()}function mu(t){if(this.a=t||n.INTERNAL.reactNative&&n.INTERNAL.reactNative.AsyncStorage,!this.a)throw new k("internal-error","The React Native compatibility library was not found.");this.type="asyncStorage"}function gu(t){this.b=t,this.a={},this.f=I(this.c,this)}uu.prototype.toString=function(){return this.f?Me(this.a,"v",this.f):$e(this.a.b,"v"),this.b?Me(this.a,"eid",this.b):$e(this.a.b,"eid"),this.c.length?Me(this.a,"fw",this.c.join(",")):$e(this.a.b,"fw"),this.a.toString()},cu.prototype.xb=function(t){return this.h=t,this},cu.prototype.toString=function(){if(this.m){var t=Ue(this.m.url);t=Ve(t.f,t.a,t.g,"/emulator/auth/handler")}else t=Ve("https",this.u,null,"/__/auth/handler");if(Me(t,"apiKey",this.o),Me(t,"appName",this.c),Me(t,"authType",this.v),this.a.isOAuthProvider){var e=this.a;try{var i=n.app(this.c).auth().ka()}catch(u){i=null}for(var r in e.nb=i,Me(t,"providerId",this.a.providerId),e=Mi((i=this.a).Hb))e[r]=e[r].toString();r=i.Pc,e=pt(e);for(var o=0;o<r.length;o++){var a=r[o];a in e&&delete e[a]}i.ob&&i.nb&&!e[i.ob]&&(e[i.ob]=i.nb),dt(e)||Me(t,"customParameters",xi(e))}if("function"==typeof this.a.Pb&&(i=this.a.Pb()).length&&Me(t,"scopes",i.join(",")),this.l?Me(t,"redirectUrl",this.l):$e(t.b,"redirectUrl"),this.g?Me(t,"eventId",this.g):$e(t.b,"eventId"),this.i?Me(t,"v",this.i):$e(t.b,"v"),this.b)for(var s in this.b)this.b.hasOwnProperty(s)&&!je(t,s)&&Me(t,s,this.b[s]);return this.h?Me(t,"tid",this.h):$e(t.b,"tid"),this.f?Me(t,"eid",this.f):$e(t.b,"eid"),(s=hu(this.c)).length&&Me(t,"fw",s.join(",")),t.toString()},(t=lu.prototype).Nb=function(t,n,e){var i=new k("popup-closed-by-user"),r=new k("web-storage-unsupported"),o=this,a=!1;return this.la().then(function(){(function(t){var n={type:"webStorageSupport"};return du(t).then(function(){return function(t,n){return t.qb.then(function(){return new wn(function(e){t.a.send(n.type,n,e,Oi("gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER"))})})}(t.m,n)}).then(function(t){if(t&&t.length&&void 0!==t[0].webStorageSupport)return t[0].webStorageSupport;throw Error()})})(o).then(function(e){e||(t&&di(t),n(r),a=!0)})}).s(function(){}).then(function(){if(!a)return function(t){return new wn(function(n){return function e(){ke(2e3).then(function(){if(t&&!t.closed)return e();n()})}()})}(t)}).then(function(){if(!a)return ke(e).then(function(){n(i)})})},t.Wb=function(){var t=_i();return!Li(t)&&!Vi(t)},t.Sb=function(){return!1},t.Lb=function(t,n,e,i,r,o,a,s){if(!t)return _n(new k("popup-blocked"));if(a&&!Li())return this.la().s(function(n){di(t),r(n)}),i(),Nn();this.a||(this.a=fu(pu(this)));var u=this;return this.a.then(function(){var n=u.la().s(function(n){throw di(t),r(n),n});return i(),n}).then(function(){Vo(e),a||hi(vu(u.o,u.g,u.b,n,e,null,o,u.c,void 0,u.i,s,u.f),t)}).s(function(t){throw"auth/network-request-failed"==t.code&&(u.a=null),t})},t.Mb=function(t,n,e,i){this.a||(this.a=fu(pu(this)));var r=this;return this.a.then(function(){Vo(n),hi(vu(r.o,r.g,r.b,t,n,ci(),e,r.c,void 0,r.i,i,r.f))}).s(function(t){throw"auth/network-request-failed"==t.code&&(r.a=null),t})},t.la=function(){var t=this;return du(this).then(function(){return t.m.qb}).s(function(){throw t.a=null,new k("network-request-failed")})},t.Zb=function(){return!0},t.Ea=function(t){this.h.push(t)},t.Ra=function(t){Y(this.h,function(n){return n==t})},(t=mu.prototype).get=function(t){return Nn(this.a.getItem(t)).then(function(t){return t&&ji(t)})},t.set=function(t,n){return Nn(this.a.setItem(t,xi(n)))},t.T=function(t){return Nn(this.a.removeItem(t))},t.ca=function(){},t.ia=function(){};var bu,yu=[];function wu(t,n,e){dt(t.a)&&t.b.addEventListener("message",t.f),void 0===t.a[n]&&(t.a[n]=[]),t.a[n].push(e)}function Iu(t){this.a=t}function Tu(t){this.c=t,this.b=!1,this.a=[]}function Eu(t,n,e,i){var r,o,a,s,u=e||{},c=null;if(t.b)return _n(Error("connection_unavailable"));var h=i?800:50,l="undefined"!=typeof MessageChannel?new MessageChannel:null;return new wn(function(e,i){l?(r=Math.floor(Math.random()*Math.pow(10,20)).toString(),l.port1.start(),a=setTimeout(function(){i(Error("unsupported_event"))},h),t.a.push(c={messageChannel:l,onMessage:o=function(t){t.data.eventId===r&&("ack"===t.data.status?(clearTimeout(a),s=setTimeout(function(){i(Error("timeout"))},3e3)):"done"===t.data.status?(clearTimeout(s),void 0!==t.data.response?e(t.data.response):i(Error("unknown_error"))):(clearTimeout(a),clearTimeout(s),i(Error("invalid_response"))))}}),l.port1.addEventListener("message",o),t.c.postMessage({eventType:n,eventId:r,data:u},[l.port2])):i(Error("connection_unavailable"))}).then(function(n){return Au(t,c),n}).s(function(n){throw Au(t,c),n})}function Au(t,n){if(n){var e=n.messageChannel;e&&(e.port1.removeEventListener("message",n.onMessage),e.port1.close()),Y(t.a,function(t){return t==n})}}function ku(){if(!_u())throw new k("web-storage-unsupported");this.c={},this.a=[],this.b=0,this.m=u.indexedDB,this.type="indexedDB",this.g=this.l=this.f=this.i=null,this.o=!1,this.h=null;var t=this;wi()&&self?(this.l=function(){var t=wi()?self:null;if(H(yu,function(e){e.b==t&&(n=e)}),!n){var n=new gu(t);yu.push(n)}return n}(),wu(this.l,"keyChanged",function(n,e){return Du(t).then(function(n){return 0<n.length&&H(t.a,function(t){t(n)}),{keyProcessed:X(n,e.key)}})}),wu(this.l,"ping",function(){return Nn(["keyChanged"])})):function(){var t=u.navigator;return t&&t.serviceWorker?Nn().then(function(){return t.serviceWorker.ready}).then(function(t){return t.active||null}).s(function(){return null}):Nn(null)}().then(function(n){(t.h=n)&&(t.g=new Tu(new Iu(n)),Eu(t.g,"ping",null,!0).then(function(n){n[0].fulfilled&&X(n[0].value,"keyChanged")&&(t.o=!0)}).s(function(){}))})}function Su(t){return new wn(function(n,e){var i=t.m.open("firebaseLocalStorageDb",1);i.onerror=function(t){try{t.preventDefault()}catch(n){}e(Error(t.target.error))},i.onupgradeneeded=function(t){t=t.target.result;try{t.createObjectStore("firebaseLocalStorage",{keyPath:"fbase_key"})}catch(n){e(n)}},i.onsuccess=function(i){(i=i.target.result).objectStoreNames.contains("firebaseLocalStorage")?n(i):function(t){return new wn(function(n,e){var i=t.m.deleteDatabase("firebaseLocalStorageDb");i.onsuccess=function(){n()},i.onerror=function(t){e(Error(t.target.error))}})}(t).then(function(){return Su(t)}).then(function(t){n(t)}).s(function(t){e(t)})}})}function Nu(t){return t.v||(t.v=Su(t)),t.v}function _u(){try{return!!u.indexedDB}catch(Bt){return!1}}function Ou(t){return t.objectStore("firebaseLocalStorage")}function Cu(t,n){return t.transaction(["firebaseLocalStorage"],n?"readwrite":"readonly")}function Ru(t){return new wn(function(n,e){t.onsuccess=function(t){t&&t.target?n(t.target.result):n()},t.onerror=function(t){e(t.target.error)}})}function Pu(t,n){return t.g&&t.h&&function(){var t=u.navigator;return t&&t.serviceWorker&&t.serviceWorker.controller||null}()===t.h?Eu(t.g,"keyChanged",{key:n},t.o).then(function(){}).s(function(){}):Nn()}function Du(t){return Nu(t).then(function(t){var n=Ou(Cu(t,!1));return n.getAll?Ru(n.getAll()):new wn(function(t,e){var i=[],r=n.openCursor();r.onsuccess=function(n){(n=n.target.result)?(i.push(n.value),n.continue()):t(i)},r.onerror=function(t){e(t.target.error)}})}).then(function(n){var e={},i=[];if(0==t.b){for(i=0;i<n.length;i++)e[n[i].fbase_key]=n[i].value;i=li(t.c,e),t.c=e}return i})}function Lu(t){t.i&&t.i.cancel("STOP_EVENT"),t.f&&(clearTimeout(t.f),t.f=null)}function xu(t){var n=this,e=null;this.a=[],this.type="indexedDB",this.c=t,this.b=Nn().then(function(){if(_u()){var t=Ui(),i="__sak"+t;return bu||(bu=new ku),(e=bu).set(i,t).then(function(){return e.get(i)}).then(function(n){if(n!==t)throw Error("indexedDB not supported!");return e.T(i)}).then(function(){return e}).s(function(){return n.c})}return n.c}).then(function(t){return n.type=t.type,t.ca(function(t){H(n.a,function(n){n(t)})}),t})}function Mu(){this.a={},this.type="inMemory"}function ju(){if(!function(){var t="Node"==Ii();if(!(t=Uu()||t&&n.INTERNAL.node&&n.INTERNAL.node.localStorage))return!1;try{return t.setItem("__sak","1"),t.removeItem("__sak"),!0}catch(e){return!1}}()){if("Node"==Ii())throw new k("internal-error","The LocalStorage compatibility library was not found.");throw new k("web-storage-unsupported")}this.a=Uu()||n.INTERNAL.node.localStorage,this.type="localStorage"}function Uu(){try{var t=u.localStorage,n=Ui();return t&&(t.setItem(n,"1"),t.removeItem(n)),t}catch(e){return null}}function Vu(){this.type="nullStorage"}function Fu(){if(!function(){var t="Node"==Ii();if(!(t=Ku()||t&&n.INTERNAL.node&&n.INTERNAL.node.sessionStorage))return!1;try{return t.setItem("__sak","1"),t.removeItem("__sak"),!0}catch(e){return!1}}()){if("Node"==Ii())throw new k("internal-error","The SessionStorage compatibility library was not found.");throw new k("web-storage-unsupported")}this.a=Ku()||n.INTERNAL.node.sessionStorage,this.type="sessionStorage"}function Ku(){try{var t=u.sessionStorage,n=Ui();return t&&(t.setItem(n,"1"),t.removeItem(n)),t}catch(e){return null}}function qu(){var t={};t.Browser=Bu,t.Node=Wu,t.ReactNative=Xu,t.Worker=Ju,this.a=t[Ii()]}gu.prototype.c=function(t){var n=t.data.eventType,e=t.data.eventId,i=this.a[n];if(i&&0<i.length){t.ports[0].postMessage({status:"ack",eventId:e,eventType:n,response:null});var r=[];H(i,function(n){r.push(Nn().then(function(){return n(t.origin,t.data.data)}))}),Cn(r).then(function(i){var r=[];H(i,function(t){r.push({fulfilled:t.Ob,value:t.value,reason:t.reason?t.reason.message:void 0})}),H(r,function(t){for(var n in t)void 0===t[n]&&delete t[n]}),t.ports[0].postMessage({status:"done",eventId:e,eventType:n,response:r})})}},Iu.prototype.postMessage=function(t,n){this.a.postMessage(t,n)},Tu.prototype.close=function(){for(;0<this.a.length;)Au(this,this.a[0]);this.b=!0},(t=ku.prototype).set=function(t,n){var e,i=!1,r=this;return Nu(this).then(function(n){return Ru((n=Ou(Cu(e=n,!0))).get(t))}).then(function(o){var a=Ou(Cu(e,!0));return o?(o.value=n,Ru(a.put(o))):(r.b++,i=!0,(o={}).fbase_key=t,o.value=n,Ru(a.add(o)))}).then(function(){return r.c[t]=n,Pu(r,t)}).na(function(){i&&r.b--})},t.get=function(t){return Nu(this).then(function(n){return Ru(Ou(Cu(n,!1)).get(t))}).then(function(t){return t&&t.value})},t.T=function(t){var n=!1,e=this;return Nu(this).then(function(i){return n=!0,e.b++,Ru(Ou(Cu(i,!0)).delete(t))}).then(function(){return delete e.c[t],Pu(e,t)}).na(function(){n&&e.b--})},t.ca=function(t){0==this.a.length&&function(t){Lu(t),function n(){t.f=setTimeout(function(){t.i=Du(t).then(function(n){0<n.length&&H(t.a,function(t){t(n)})}).then(function(){n()}).s(function(t){"STOP_EVENT"!=t.message&&n()})},800)}()}(this),this.a.push(t)},t.ia=function(t){Y(this.a,function(n){return n==t}),0==this.a.length&&Lu(this)},(t=xu.prototype).get=function(t){return this.b.then(function(n){return n.get(t)})},t.set=function(t,n){return this.b.then(function(e){return e.set(t,n)})},t.T=function(t){return this.b.then(function(n){return n.T(t)})},t.ca=function(t){this.a.push(t)},t.ia=function(t){Y(this.a,function(n){return n==t})},(t=Mu.prototype).get=function(t){return Nn(this.a[t])},t.set=function(t,n){return this.a[t]=n,Nn()},t.T=function(t){return delete this.a[t],Nn()},t.ca=function(){},t.ia=function(){},(t=ju.prototype).get=function(t){var n=this;return Nn().then(function(){return ji(n.a.getItem(t))})},t.set=function(t,n){var e=this;return Nn().then(function(){var i=xi(n);null===i?e.T(t):e.a.setItem(t,i)})},t.T=function(t){var n=this;return Nn().then(function(){n.a.removeItem(t)})},t.ca=function(t){u.window&&ue(u.window,"storage",t)},t.ia=function(t){u.window&&le(u.window,"storage",t)},(t=Vu.prototype).get=function(){return Nn(null)},t.set=function(){return Nn()},t.T=function(){return Nn()},t.ca=function(){},t.ia=function(){},(t=Fu.prototype).get=function(t){var n=this;return Nn().then(function(){return ji(n.a.getItem(t))})},t.set=function(t,n){var e=this;return Nn().then(function(){var i=xi(n);null===i?e.T(t):e.a.setItem(t,i)})},t.T=function(t){var n=this;return Nn().then(function(){n.a.removeItem(t)})},t.ca=function(){},t.ia=function(){};var Hu,Gu,Bu={D:ju,ab:Fu},Wu={D:ju,ab:Fu},Xu={D:mu,ab:Vu},Ju={D:ju,ab:Vu},Yu={qd:"local",NONE:"none",sd:"session"};function zu(){var t=!(Vi(_i())||!yi()),n=Li(),e=Ci();this.v=t,this.h=n,this.l=e,this.a={},Hu||(Hu=new qu),t=Hu;try{this.g=!ui()&&Bi()||!u.indexedDB?new t.a.D:new xu(wi()?new Mu:new t.a.D)}catch(i){this.g=new Mu,this.h=!0}try{this.i=new t.a.ab}catch(i){this.i=new Mu}this.m=new Mu,this.f=I(this.Xb,this),this.b={}}function $u(){return Gu||(Gu=new zu),Gu}function Zu(t,n){switch(n){case"session":return t.i;case"none":return t.m;default:return t.g}}function Qu(t,n){return"firebase:"+t.name+(n?":"+n:"")}function tc(t,n,e){return e=Qu(n,e),"local"==n.D&&(t.b[e]=null),Zu(t,n.D).T(e)}function nc(t){t.c&&(clearInterval(t.c),t.c=null)}function ec(t){this.a=t,this.b=$u()}(t=zu.prototype).get=function(t,n){return Zu(this,t.D).get(Qu(t,n))},t.set=function(t,n,e){var i=Qu(t,e),r=this,o=Zu(this,t.D);return o.set(i,n).then(function(){return o.get(i)}).then(function(n){"local"==t.D&&(r.b[i]=n)})},t.addListener=function(t,n,e){t=Qu(t,n),this.l&&(this.b[t]=u.localStorage.getItem(t)),dt(this.a)&&(Zu(this,"local").ca(this.f),this.h||(ui()||!Bi())&&u.indexedDB||!this.l||function(t){nc(t),t.c=setInterval(function(){for(var n in t.a){var e=u.localStorage.getItem(n),i=t.b[n];e!=i&&(t.b[n]=e,e=new $n({type:"storage",key:n,target:window,oldValue:i,newValue:e,a:!0}),t.Xb(e))}},1e3)}(this)),this.a[t]||(this.a[t]=[]),this.a[t].push(e)},t.removeListener=function(t,n,e){t=Qu(t,n),this.a[t]&&(Y(this.a[t],function(t){return t==e}),0==this.a[t].length&&delete this.a[t]),dt(this.a)&&(Zu(this,"local").ia(this.f),nc(this))},t.Xb=function(t){if(t&&t.g){var n=t.a.key;if(null==n)for(var e in this.a){var i=this.b[e];void 0===i&&(i=null);var r=u.localStorage.getItem(e);r!==i&&(this.b[e]=r,this.lb(e))}else if(0==n.indexOf("firebase:")&&this.a[n]){if(void 0!==t.a.a?Zu(this,"local").ia(this.f):nc(this),this.v)if(e=u.localStorage.getItem(n),(i=t.a.newValue)!==e)null!==i?u.localStorage.setItem(n,i):u.localStorage.removeItem(n);else if(this.b[n]===i&&void 0===t.a.a)return;var o=this;e=function(){void 0===t.a.a&&o.b[n]===u.localStorage.getItem(n)||(o.b[n]=u.localStorage.getItem(n),o.lb(n))},Xt&&en&&10==en&&u.localStorage.getItem(n)!==t.a.newValue&&t.a.newValue!==t.a.oldValue?setTimeout(e,10):e()}}else H(t,I(this.lb,this))},t.lb=function(t){this.a[t]&&H(this.a[t],function(t){t()})};var ic,rc={name:"authEvent",D:"local"};function oc(){this.a=$u()}function ac(t,n){this.b=sc,this.f=u.Uint8Array?new Uint8Array(this.b):Array(this.b),this.g=this.c=0,this.a=[],this.i=t,this.h=n,this.l=u.Int32Array?new Int32Array(64):Array(64),void 0===ic&&(ic=u.Int32Array?new Int32Array(pc):pc),this.reset()}A(ac,function(){this.b=-1});for(var sc=64,uc=sc-1,cc=[],hc=0;hc<uc;hc++)cc[hc]=0;var lc=z(128,cc);function fc(t){for(var n=t.f,e=t.l,i=0,r=0;r<n.length;)e[i++]=n[r]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],r=4*i;for(n=16;64>n;n++){var o=(0|e[n-16])+(((r=0|e[n-15])>>>7|r<<25)^(r>>>18|r<<14)^r>>>3)|0,a=(0|e[n-7])+(((i=0|e[n-2])>>>17|i<<15)^(i>>>19|i<<13)^i>>>10)|0;e[n]=o+a|0}i=0|t.a[0],r=0|t.a[1];var s=0|t.a[2],u=0|t.a[3],c=0|t.a[4],h=0|t.a[5],l=0|t.a[6];for(o=0|t.a[7],n=0;64>n;n++){var f=((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&r^i&s^r&s)|0;a=(o=o+((c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7))|0)+((a=(a=c&h^~c&l)+(0|ic[n])|0)+(0|e[n])|0)|0,o=l,l=h,h=c,c=u+a|0,u=s,s=r,r=i,i=a+f|0}t.a[0]=t.a[0]+i|0,t.a[1]=t.a[1]+r|0,t.a[2]=t.a[2]+s|0,t.a[3]=t.a[3]+u|0,t.a[4]=t.a[4]+c|0,t.a[5]=t.a[5]+h|0,t.a[6]=t.a[6]+l|0,t.a[7]=t.a[7]+o|0}function dc(t,n,e){void 0===e&&(e=n.length);var i=0,r=t.c;if("string"==typeof n)for(;i<e;)t.f[r++]=n.charCodeAt(i++),r==t.b&&(fc(t),r=0);else{if(!d(n))throw Error("message must be string or array");for(;i<e;){var o=n[i++];if(!("number"==typeof o&&0<=o&&255>=o&&o==(0|o)))throw Error("message must be a byte array");t.f[r++]=o,r==t.b&&(fc(t),r=0)}}t.c=r,t.g+=e}ac.prototype.reset=function(){this.g=this.c=0,this.a=u.Int32Array?new Int32Array(this.h):$(this.h)};var pc=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function vc(){ac.call(this,8,mc)}A(vc,ac);var mc=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function gc(t,n,e,i,r,o){this.m=t,this.i=n,this.l=e,this.v=i||null,this.u=r||null,this.o=o,this.h=n+":"+e,this.A=new oc,this.g=new ec(this.h),this.f=null,this.b=[],this.a=this.c=null}function bc(t){return new k("invalid-cordova-configuration",t)}function yc(t,n){for(var e=0;e<t.b.length;e++)try{t.b[e](n)}catch(i){}}function wc(t){return t.f||(t.f=t.la().then(function(){return new wn(function(n){t.Ea(function e(i){return n(i),t.Ra(e),!1}),function(t){function n(n){i=!0,r&&r.cancel(),Ic(t).then(function(i){var r=e;if(i&&n&&n.url){var o=null;-1!=(r=ro(n.url)).indexOf("/__/auth/callback")&&(o=(o="object"==typeof(o=ji(je(o=Ue(r),"firebaseError")||null))?S(o):null)?new Fo(i.c,i.b,null,null,o,null,i.S()):new Fo(i.c,i.b,r,i.f,null,null,i.S())),r=o||e}yc(t,r)})}var e=new Fo("unknown",null,null,null,new k("no-auth-event")),i=!1,r=ke(500).then(function(){return Ic(t).then(function(){i||yc(t,e)})}),o=u.handleOpenURL;u.handleOpenURL=function(t){if(0==t.toLowerCase().indexOf(Oi("BuildInfo.packageName",u).toLowerCase()+"://")&&n({url:t}),"function"==typeof o)try{o(t)}catch(e){console.error(e)}},Go||(Go=new qo),function(t){var n=Go;n.a.push(t),n.b||(n.b=function(t){for(var e=0;e<n.a.length;e++)n.a[e](t)},"function"==typeof(t=Oi("universalLinks.subscribe",u))&&t(null,n.b))}(n)}(t)})})),t.f}function Ic(t){var n=null;return function(t){return t.b.get(rc,t.a).then(function(t){return Ko(t)})}(t.g).then(function(e){return n=e,tc((e=t.g).b,rc,e.a)}).then(function(){return n})}function Tc(t){this.a=t,this.b=$u()}(t=gc.prototype).la=function(){return this.Ia?this.Ia:this.Ia=(bi(void 0)?gi().then(function(){return new wn(function(t,n){var e=u.document,i=setTimeout(function(){n(Error("Cordova framework is not ready."))},1e3);e.addEventListener("deviceready",function(){clearTimeout(i),t()},!1)})}):_n(Error("Cordova must run in an Android or iOS file scheme."))).then(function(){if("function"!=typeof Oi("universalLinks.subscribe",u))throw bc("cordova-universal-links-plugin-fix is not installed");if(void 0===Oi("BuildInfo.packageName",u))throw bc("cordova-plugin-buildinfo is not installed");if("function"!=typeof Oi("cordova.plugins.browsertab.openUrl",u))throw bc("cordova-plugin-browsertab is not installed");if("function"!=typeof Oi("cordova.InAppBrowser.open",u))throw bc("cordova-plugin-inappbrowser is not installed")},function(){throw new k("cordova-not-ready")})},t.Nb=function(t,n){return n(new k("operation-not-supported-in-this-environment")),Nn()},t.Lb=function(){return _n(new k("operation-not-supported-in-this-environment"))},t.Zb=function(){return!1},t.Wb=function(){return!0},t.Sb=function(){return!0},t.Mb=function(t,n,e,i){if(this.c)return _n(new k("redirect-operation-pending"));var r=this,o=u.document,a=null,s=null,c=null,h=null;return this.c=Nn().then(function(){return Vo(n),wc(r)}).then(function(){return function(t,n,e,i,r){var o=function(){for(var t=20,n=[];0<t;)n.push("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(Math.floor(62*Math.random()))),t--;return n.join("")}(),a=new Fo(n,i,null,o,new k("no-auth-event"),null,r),s=Oi("BuildInfo.packageName",u);if("string"!=typeof s)throw new k("invalid-cordova-configuration");var c=Oi("BuildInfo.displayName",u),h={};if(_i().toLowerCase().match(/iphone|ipad|ipod/))h.ibi=s;else{if(!_i().toLowerCase().match(/android/))return _n(new k("operation-not-supported-in-this-environment"));h.apn=s}c&&(h.appDisplayName=c),o=function(t){var n=new vc;dc(n,t),t=[];var e=8*n.g;dc(n,lc,56>n.c?56-n.c:n.b-(n.c-56));for(var i=63;56<=i;i--)n.f[i]=255&e,e/=256;for(fc(n),i=e=0;i<n.i;i++)for(var r=24;0<=r;r-=8)t[e++]=n.a[i]>>r&255;return function(t){return B(t,function(t){return 1<(t=t.toString(16)).length?t:"0"+t}).join("")}(t)}(o),h.sessionId=o;var l=vu(t.m,t.i,t.l,n,e,null,i,t.v,h,t.u,r,t.o);return t.la().then(function(){var n=t.h;return t.A.a.set(rc,a.w(),n)}).then(function(){var n=Oi("cordova.plugins.browsertab.isAvailable",u);if("function"!=typeof n)throw new k("invalid-cordova-configuration");var e=null;n(function(n){if(n){if("function"!=typeof(e=Oi("cordova.plugins.browsertab.openUrl",u)))throw new k("invalid-cordova-configuration");e(l)}else{if("function"!=typeof(e=Oi("cordova.InAppBrowser.open",u)))throw new k("invalid-cordova-configuration");n=_i(),t.a=e(l,n.match(/(iPad|iPhone|iPod).*OS 7_\d/i)||n.match(/(iPad|iPhone|iPod).*OS 8_\d/i)?"_blank":"_system","location=yes")}})})}(r,t,n,e,i)}).then(function(){return new wn(function(t,n){s=function(){var n=Oi("cordova.plugins.browsertab.close",u);return t(),"function"==typeof n&&n(),r.a&&"function"==typeof r.a.close&&(r.a.close(),r.a=null),!1},r.Ea(s),h=function(){qi()&&c()},o.addEventListener("resume",c=function(){a||(a=ke(2e3).then(function(){n(new k("redirect-cancelled-by-user"))}))},!1),_i().toLowerCase().match(/android/)||o.addEventListener("visibilitychange",h,!1)}).s(function(t){return Ic(r).then(function(){throw t})})}).na(function(){c&&o.removeEventListener("resume",c,!1),h&&o.removeEventListener("visibilitychange",h,!1),a&&a.cancel(),s&&r.Ra(s),r.c=null})},t.Ea=function(t){this.b.push(t),wc(this).s(function(n){"auth/invalid-cordova-configuration"===n.code&&(n=new Fo("unknown",null,null,null,new k("no-auth-event")),t(n))})},t.Ra=function(t){Y(this.b,function(n){return n==t})};var Ec={name:"pendingRedirect",D:"session"};function Ac(t){return tc(t.b,Ec,t.a)}function kc(t,n,e,i){this.i={},this.u=0,this.O=t,this.m=n,this.v=e,this.G=i,this.h=[],this.f=!1,this.l=I(this.o,this),this.b=new Fc,this.A=new Bc,this.g=new Tc(Uc(this.m,this.v)),this.c={},this.c.unknown=this.b,this.c.signInViaRedirect=this.b,this.c.linkViaRedirect=this.b,this.c.reauthViaRedirect=this.b,this.c.signInViaPopup=this.A,this.c.linkViaPopup=this.A,this.c.reauthViaPopup=this.A,this.a=Sc(this.O,this.m,this.v,N,this.G)}function Sc(t,e,i,r,o){var a=n.SDK_VERSION||null;return bi()?new gc(t,e,i,a,r,o):new lu(t,e,i,a,r,o)}function Nc(t){t.f||(t.f=!0,t.a.Ea(t.l));var n=t.a;return t.a.la().s(function(e){throw t.a==n&&t.reset(),e})}function _c(t){t.a.Wb()&&Nc(t).s(function(n){var e=new Fo("unknown",null,null,null,new k("operation-not-supported-in-this-environment"));Lc(n)&&t.o(e)}),t.a.Sb()||Kc(t.b)}function Oc(t,n){X(t.h,n)||t.h.push(n),t.f||function(t){return t.b.get(Ec,t.a).then(function(t){return"pending"==t})}(t.g).then(function(n){n?Ac(t.g).then(function(){Nc(t).s(function(n){var e=new Fo("unknown",null,null,null,new k("operation-not-supported-in-this-environment"));Lc(n)&&t.o(e)})}):_c(t)}).s(function(){_c(t)})}function Cc(t,n){Y(t.h,function(t){return t==n})}kc.prototype.reset=function(){this.f=!1,this.a.Ra(this.l),this.a=Sc(this.O,this.m,this.v,null,this.G),this.i={}},kc.prototype.o=function(t){if(!t)throw new k("invalid-auth-event");if(6e5<=E()-this.u&&(this.i={},this.u=0),t&&t.getUid()&&this.i.hasOwnProperty(t.getUid()))return!1;for(var n=!1,e=0;e<this.h.length;e++){var i=this.h[e];if(i.Eb(t.c,t.b)){(n=this.c[t.c])&&(n.h(t,i),t&&(t.f||t.b)&&(this.i[t.getUid()]=!0,this.u=E())),n=!0;break}}return Kc(this.b),n};var Rc=new Ki(2e3,1e4),Pc=new Ki(3e4,6e4);function Dc(t,n,e,i,r,o,a){return t.a.Lb(n,e,i,function(){t.f||(t.f=!0,t.a.Ea(t.l))},function(){t.reset()},r,o,a)}function Lc(t){return!(!t||"auth/cordova-not-ready"!=t.code)}function xc(t,n,e,i,r){var o;return function(t){return t.b.set(Ec,"pending",t.a)}(t.g).then(function(){return t.a.Mb(n,e,i,r).s(function(n){if(Lc(n))throw new k("operation-not-supported-in-this-environment");return o=n,Ac(t.g).then(function(){throw o})}).then(function(){return t.a.Zb()?new wn(function(){}):Ac(t.g).then(function(){return t.qa()}).then(function(){}).s(function(){})})})}function Mc(t,n,e,i,r){return t.a.Nb(i,function(t){n.ma(e,null,t,r)},Rc.get())}kc.prototype.qa=function(){return this.b.qa()};var jc={};function Uc(t,n,e){return t=t+":"+n,e&&(t=t+":"+e.url),t}function Vc(t,n,e,i){var r=Uc(n,e,i);return jc[r]||(jc[r]=new kc(t,n,e,i)),jc[r]}function Fc(){this.b=null,this.f=[],this.c=[],this.a=null,this.i=this.g=!1}function Kc(t){t.g||(t.g=!0,Gc(t,!1,null,null))}function qc(t){t.g&&!t.i&&Gc(t,!1,null,null)}function Hc(t,n){if(t.b=function(){return Nn(n)},t.f.length)for(var e=0;e<t.f.length;e++)t.f[e](n)}function Gc(t,n,e,i){n?i?function(t,n){if(t.b=function(){return _n(n)},t.c.length)for(var e=0;e<t.c.length;e++)t.c[e](n)}(t,i):Hc(t,e):Hc(t,{user:null}),t.f=[],t.c=[]}function Bc(){}function Wc(){this.hb=!1,Object.defineProperty(this,"appVerificationDisabled",{get:function(){return this.hb},set:function(t){this.hb=t},enumerable:!1})}function Xc(t,n){this.a=n,zi(this,"verificationId",t)}function Jc(t,n,e,i){return new Mo(t).eb(n,e).then(function(t){return new Xc(t,i)})}function Yc(t){var n=Gr(t);if(!(n&&n.exp&&n.auth_time&&n.iat))throw new k("internal-error","An internal error occurred. The token obtained by Firebase appears to be malformed. Please retry the operation.");$i(this,{token:t,expirationTime:Gi(1e3*n.exp),authTime:Gi(1e3*n.auth_time),issuedAtTime:Gi(1e3*n.iat),signInProvider:n.firebase&&n.firebase.sign_in_provider?n.firebase.sign_in_provider:null,signInSecondFactor:n.firebase&&n.firebase.sign_in_second_factor?n.firebase.sign_in_second_factor:null,claims:n})}function zc(t,n,e){var i=n&&n[Zc];if(!i)throw new k("argument-error","Internal assert: Invalid MultiFactorResolver");this.a=t,this.f=pt(n),this.g=e,this.c=new oo(null,i),this.b=[];var r=this;H(n[$c]||[],function(t){(t=nr(t))&&r.b.push(t)}),zi(this,"auth",this.a),zi(this,"session",this.c),zi(this,"hints",this.b)}Fc.prototype.reset=function(){this.b=null,this.a&&(this.a.cancel(),this.a=null)},Fc.prototype.h=function(t,n){if(t){this.reset(),this.g=!0;var e=t.c,i=t.b,r=t.a&&"auth/web-storage-unsupported"==t.a.code,o=t.a&&"auth/operation-not-supported-in-this-environment"==t.a.code;this.i=!(!r&&!o),"unknown"!=e||r||o?t.a?(Gc(this,!0,null,t.a),Nn()):n.Fa(e,i)?function(t,n,e){e=e.Fa(n.c,n.b);var i=n.g,r=n.f,o=n.i,a=n.S(),s=!!n.c.match(/Redirect$/);e(i,r,a,o).then(function(n){Gc(t,s,n,null)}).s(function(n){Gc(t,s,null,n)})}(this,t,n):_n(new k("invalid-auth-event")):(Gc(this,!1,null,null),Nn())}else _n(new k("invalid-auth-event"))},Fc.prototype.qa=function(){var t=this;return new wn(function(n,e){t.b?t.b().then(n,e):(t.f.push(n),t.c.push(e),function(t){var n=new k("timeout");t.a&&t.a.cancel(),t.a=ke(Pc.get()).then(function(){t.b||(t.g=!0,Gc(t,!0,null,n))})}(t))})},Bc.prototype.h=function(t,n){if(t){var e=t.c,i=t.b;t.a?(n.ma(t.c,null,t.a,t.b),Nn()):n.Fa(e,i)?function(t,n){var e=t.b,i=t.c;n.Fa(i,e)(t.g,t.f,t.S(),t.i).then(function(t){n.ma(i,t,null,e)}).s(function(t){n.ma(i,null,t,e)})}(t,n):_n(new k("invalid-auth-event"))}else _n(new k("invalid-auth-event"))},Xc.prototype.confirm=function(t){return t=jo(this.verificationId,t),this.a(t)};var $c="mfaInfo",Zc="mfaPendingCredential";function Qc(t,n,e,i){k.call(this,"multi-factor-auth-required",i,n),this.b=new zc(t,n,e),zi(this,"resolver",this.b)}function th(t,n,e){if(t&&v(t.serverResponse)&&"auth/multi-factor-auth-required"===t.code)try{return new Qc(n,t.serverResponse,e,t.message)}catch(i){}return null}function nh(){}function eh(t){zi(this,"factorId",t.fa),this.a=t}function ih(t){if(eh.call(this,t),this.a.fa!=Mo.PROVIDER_ID)throw new k("argument-error","firebase.auth.PhoneMultiFactorAssertion requires a valid firebase.auth.PhoneAuthCredential")}function rh(t,n){for(var e in zn.call(this,t),n)this[e]=n[e]}function oh(t,n){this.a=t,this.b=[],this.c=I(this.xc,this),ue(this.a,"userReloaded",this.c);var e=[];n&&n.multiFactor&&n.multiFactor.enrolledFactors&&H(n.multiFactor.enrolledFactors,function(t){var n=null,i={};if(t){t.uid&&(i[rr]=t.uid),t.displayName&&(i[er]=t.displayName),t.enrollmentTime&&(i[ir]=new Date(t.enrollmentTime).toISOString()),t.phoneNumber&&(i[or]=t.phoneNumber);try{n=new ar(i)}catch(r){}t=n}else t=null;t&&e.push(t)}),ah(this,e)}function ah(t,n){t.b=n,zi(t,"enrolledFactors",n)}function sh(t,n,e){if(this.h=t,this.i=n,this.g=e,this.c=3e4,this.f=96e4,this.b=null,this.a=this.c,this.f<this.c)throw Error("Proactive refresh lower bound greater than upper bound!")}function uh(t,n){t.stop(),t.b=ke(function(t,n){return n?(t.a=t.c,t.g()):(n=t.a,t.a*=2,t.a>t.f&&(t.a=t.f),n)}(t,n)).then(function(){return function(){var t=u.document,n=null;return qi()||!t?Nn():new wn(function(e){n=function(){qi()&&(t.removeEventListener("visibilitychange",n,!1),e())},t.addEventListener("visibilitychange",n,!1)}).s(function(e){throw t.removeEventListener("visibilitychange",n,!1),e})}()}).then(function(){return t.h()}).then(function(){uh(t,!0)}).s(function(n){t.i(n)&&uh(t,!1)})}function ch(t){this.c=t,this.b=this.a=null}function hh(t){return t.b&&1e3*t.b.c||0}function lh(t,n){var e=n.refreshToken;t.b=Hr(n[za]||""),t.a=e}function fh(t,n){this.a=t||null,this.b=n||null,$i(this,{lastSignInTime:Gi(n||null),creationTime:Gi(t||null)})}function dh(t,n,e,i,r,o){$i(this,{uid:t,displayName:i||null,photoURL:r||null,email:e||null,phoneNumber:o||null,providerId:n})}function ph(t,e,i){this.G=[],this.l=t.apiKey,this.m=t.appName,this.o=t.authDomain||null;var r=n.SDK_VERSION?Ni(n.SDK_VERSION):null;this.a=new Ja(this.l,R(N),r),t.emulatorConfig&&es(this.a,t.emulatorConfig),this.b=new ch(this.a),Th(this,e[za]),lh(this.b,e),zi(this,"refreshToken",this.b.a),kh(this,i||{}),we.call(this),this.P=!1,this.o&&Ri()&&(this.i=Vc(this.o,this.l,this.m)),this.R=[],this.f=null,this.u=function(t){return new sh(function(){return t.I(!0)},function(t){return!(!t||"auth/network-request-failed"!=t.code)},function(){var n=hh(t.b)-E()-3e5;return 0<n?n:0})}(this),this.$=I(this.gb,this);var o=this;this.pa=null,this.Ba=function(t){o.wa(t.h)},this.ba=null,this.za=function(t){es(o.a,t.c)},this.W=null,this.X=[],this.Aa=function(t){gh(o,t.f)},this.aa=null,this.N=new oh(this,i),zi(this,"multiFactor",this.N)}function vh(t,n){t.ba&&le(t.ba,"languageCodeChanged",t.Ba),(t.ba=n)&&ue(n,"languageCodeChanged",t.Ba)}function mh(t,n){t.W&&le(t.W,"emulatorConfigChanged",t.za),(t.W=n)&&ue(n,"emulatorConfigChanged",t.za)}function gh(t,e){t.X=e,rs(t.a,n.SDK_VERSION?Ni(n.SDK_VERSION,t.X):null)}function bh(t,n){t.aa&&le(t.aa,"frameworkChanged",t.Aa),(t.aa=n)&&ue(n,"frameworkChanged",t.Aa)}function yh(t){try{return n.app(t.m).auth()}catch(e){throw new k("internal-error","No firebase.auth.Auth instance is available for the Firebase App '"+t.m+"'!")}}function wh(t){t.A||t.u.b||(t.u.start(),le(t,"tokenChanged",t.$),ue(t,"tokenChanged",t.$))}function Ih(t){le(t,"tokenChanged",t.$),t.u.stop()}function Th(t,n){t.ya=n,zi(t,"_lat",n)}function Eh(t){for(var n=[],e=0;e<t.R.length;e++)n.push(t.R[e](t));return Cn(n).then(function(){return t})}function Ah(t){t.i&&!t.P&&(t.P=!0,Oc(t.i,t))}function kh(t,n){$i(t,{uid:n.uid,displayName:n.displayName||null,photoURL:n.photoURL||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,isAnonymous:n.isAnonymous||!1,tenantId:n.tenantId||null,metadata:new fh(n.createdAt,n.lastLoginAt),providerData:[]}),t.a.b=t.tenantId}function Sh(){}function Nh(t){return Nn().then(function(){if(t.A)throw new k("app-deleted")})}function _h(t){return B(t.providerData,function(t){return t.providerId})}function Oh(t,n){n&&(Ch(t,n.providerId),t.providerData.push(n))}function Ch(t,n){Y(t.providerData,function(t){return t.providerId==n})}function Rh(t,n,e){("uid"!=n||e)&&t.hasOwnProperty(n)&&zi(t,n,e)}function Ph(t,n){t!=n&&($i(t,{uid:n.uid,displayName:n.displayName,photoURL:n.photoURL,email:n.email,emailVerified:n.emailVerified,phoneNumber:n.phoneNumber,isAnonymous:n.isAnonymous,tenantId:n.tenantId,providerData:[]}),zi(t,"metadata",n.metadata?function(t){return new fh(t.a,t.b)}(n.metadata):new fh),H(n.providerData,function(n){Oh(t,n)}),function(t,n){t.b=n.b,t.a=n.a}(t.b,n.b),zi(t,"refreshToken",t.b.a),ah(t.N,n.N.b))}function Dh(t){return t.I().then(function(n){var e=t.isAnonymous;return function(t,n){return tu(t.a,Rs,{idToken:n}).then(I(t.Jc,t))}(t,n).then(function(){return e||Rh(t,"isAnonymous",!1),n})})}function Lh(t,n){n[za]&&t.ya!=n[za]&&(lh(t.b,n),t.dispatchEvent(new rh("tokenChanged")),Th(t,n[za]),Rh(t,"refreshToken",t.b.a))}function xh(t,n){return Dh(t).then(function(){if(X(_h(t),n))return Eh(t).then(function(){throw new k("provider-already-linked")})})}function Mh(t,n,e){return Zi({user:t,credential:Uo(n),additionalUserInfo:n=Yr(n),operationType:e})}function jh(t,n){return Lh(t,n),t.reload().then(function(){return t})}function Uh(t,e,i,r,o){if(!Ri())return _n(new k("operation-not-supported-in-this-environment"));if(t.f&&!o)return _n(t.f);var a=Jr(i.providerId),s=Ui(t.uid+":::"),u=null;(!Li()||yi())&&t.o&&i.isOAuthProvider&&(u=vu(t.o,t.l,t.m,e,i,null,s,n.SDK_VERSION||null,null,null,t.tenantId));var c=pi(u,a&&a.ua,a&&a.ta);return r=r().then(function(){if(Fh(t),!o)return t.I().then(function(){})}).then(function(){return Dc(t.i,c,e,i,s,!!u,t.tenantId)}).then(function(){return new wn(function(n,i){t.ma(e,null,new k("cancelled-popup-request"),t.h||null),t.g=n,t.O=i,t.h=s,t.c=Mc(t.i,t,e,c,s)})}).then(function(t){return c&&di(c),t?Zi(t):null}).s(function(t){throw c&&di(c),t}),Kh(t,r,o)}function Vh(t,n,e,i,r){if(!Ri())return _n(new k("operation-not-supported-in-this-environment"));if(t.f&&!r)return _n(t.f);var o=null,a=Ui(t.uid+":::");return i=i().then(function(){if(Fh(t),!r)return t.I().then(function(){})}).then(function(){return t.ga=a,Eh(t)}).then(function(n){return t.ha&&(n=(n=t.ha).b.set(Gh,t.w(),n.a)),n}).then(function(){return xc(t.i,n,e,a,t.tenantId)}).s(function(n){if(o=n,t.ha)return Bh(t.ha);throw o}).then(function(){if(o)throw o}),Kh(t,i,r)}function Fh(t){if(!t.i||!t.P){if(t.i&&!t.P)throw new k("internal-error");throw new k("auth-domain-config-required")}}function Kh(t,n,e){var i=function(t,n,e){return t.f&&!e?(n.cancel(),_n(t.f)):n.s(function(n){throw!n||"auth/user-disabled"!=n.code&&"auth/user-token-expired"!=n.code||(t.f||t.dispatchEvent(new rh("userInvalidated")),t.f=n),n})}(t,n,e);return t.G.push(i),i.na(function(){J(t.G,i)}),i.s(function(n){var e=null;throw n&&"auth/multi-factor-auth-required"===n.code&&(e=th(n.w(),yh(t),I(t.ic,t))),e||n})}function qh(t){if(!t.apiKey)return null;var n={apiKey:t.apiKey,authDomain:t.authDomain,appName:t.appName,emulatorConfig:t.emulatorConfig},e={};if(!t.stsTokenManager||!t.stsTokenManager.accessToken)return null;e[za]=t.stsTokenManager.accessToken,e.refreshToken=t.stsTokenManager.refreshToken||null;var i=new ph(n,e,t);return t.providerData&&H(t.providerData,function(t){t&&Oh(i,Zi(t))}),t.redirectEventId&&(i.ga=t.redirectEventId),i}function Hh(t){this.a=t,this.b=$u()}zc.prototype.Qc=function(t){var n=this;return t.rb(this.a.a,this.c).then(function(t){var e=pt(n.f);return delete e[$c],delete e[Zc],mt(e,t),n.g(e)})},A(Qc,k),nh.prototype.rb=function(t,n,e){return n.type==ao?function(t,n,e,i){return e.Ha().then(function(e){return e={idToken:e},void 0!==i&&(e.displayName=i),mt(e,{phoneVerificationInfo:xo(t.a)}),tu(n,Os,e)})}(this,t,n,e):function(t,n,e){return e.Ha().then(function(e){return mt(e={mfaPendingCredential:e},{phoneVerificationInfo:xo(t.a)}),tu(n,Cs,e)})}(this,t,n)},A(eh,nh),A(ih,eh),A(rh,zn),(t=oh.prototype).xc=function(t){ah(this,function(t){var n=[];return H(t.mfaInfo||[],function(t){(t=nr(t))&&n.push(t)}),n}(t.gd))},t.Qb=function(){return this.a.I().then(function(t){return new oo(t,null)})},t.ec=function(t,n){var e=this,i=this.a.a;return this.Qb().then(function(e){return t.rb(i,e,n)}).then(function(t){return Lh(e.a,t),e.a.reload()})},t.ad=function(t){var n=this,e="string"==typeof t?t:t.uid,i=this.a.a;return this.a.I().then(function(t){return tu(i,Qs,{idToken:t,mfaEnrollmentId:e})}).then(function(t){var i=G(n.b,function(t){return t.uid!=e});return ah(n,i),Lh(n.a,t),n.a.reload().s(function(t){if("auth/user-token-expired"!=t.code)throw t})})},t.w=function(){return{multiFactor:{enrolledFactors:B(this.b,function(t){return t.w()})}}},sh.prototype.start=function(){this.a=this.c,uh(this,!0)},sh.prototype.stop=function(){this.b&&(this.b.cancel(),this.b=null)},ch.prototype.w=function(){return{apiKey:this.c.c,refreshToken:this.a,accessToken:this.b&&this.b.toString(),expirationTime:hh(this)}},ch.prototype.getToken=function(t){return t=!!t,this.b&&!this.a?_n(new k("user-token-expired")):t||!this.b||E()>hh(this)-3e4?this.a?function(t,n){return function(t,n){return new wn(function(e,i){"refresh_token"==n.grant_type&&n.refresh_token||"authorization_code"==n.grant_type&&n.code?os(t,t.l+"?key="+encodeURIComponent(t.c),function(t){t?t.error?i(eu(t)):t.access_token&&t.refresh_token?e(t):i(new k("internal-error")):i(new k("network-request-failed"))},"POST",ze(n).toString(),t.g,t.v.get()):i(new k("internal-error"))})}(t.c,n).then(function(n){return t.b=Hr(n.access_token),t.a=n.refresh_token,{accessToken:t.b.toString(),refreshToken:t.a}}).s(function(n){throw"auth/user-token-expired"==n.code&&(t.a=null),n})}(this,{grant_type:"refresh_token",refresh_token:this.a}):Nn(null):Nn({accessToken:this.b.toString(),refreshToken:this.a})},fh.prototype.w=function(){return{lastLoginAt:this.b,createdAt:this.a}},A(ph,we),ph.prototype.wa=function(t){this.pa=t,ns(this.a,t)},ph.prototype.ka=function(){return this.pa},ph.prototype.Ga=function(){return $(this.X)},ph.prototype.gb=function(){this.u.b&&(this.u.stop(),this.u.start())},zi(ph.prototype,"providerId","firebase"),(t=ph.prototype).reload=function(){var t=this;return Kh(this,Nh(this).then(function(){return Dh(t).then(function(){return Eh(t)}).then(Sh)}))},t.nc=function(t){return this.I(t).then(function(t){return new Yc(t)})},t.I=function(t){var n=this;return Kh(this,Nh(this).then(function(){return n.b.getToken(t)}).then(function(t){if(!t)throw new k("internal-error");return t.accessToken!=n.ya&&(Th(n,t.accessToken),n.dispatchEvent(new rh("tokenChanged"))),Rh(n,"refreshToken",t.refreshToken),t.accessToken}))},t.Jc=function(t){if(!(t=t.users)||!t.length)throw new k("internal-error");kh(this,{uid:(t=t[0]).localId,displayName:t.displayName,photoURL:t.photoUrl,email:t.email,emailVerified:!!t.emailVerified,phoneNumber:t.phoneNumber,lastLoginAt:t.lastLoginAt,createdAt:t.createdAt,tenantId:t.tenantId});for(var n=function(t){return(t=t.providerUserInfo)&&t.length?B(t,function(t){return new dh(t.rawId,t.providerId,t.email,t.displayName,t.photoUrl,t.phoneNumber)}):[]}(t),e=0;e<n.length;e++)Oh(this,n[e]);Rh(this,"isAnonymous",!(this.email&&t.passwordHash||this.providerData&&this.providerData.length)),this.dispatchEvent(new rh("userReloaded",{gd:t}))},t.Kc=function(t){return Ji("firebase.User.prototype.reauthenticateAndRetrieveDataWithCredential is deprecated. Please use firebase.User.prototype.reauthenticateWithCredential instead."),this.sb(t)},t.sb=function(t){var n=this,e=null;return Kh(this,t.c(this.a,this.uid).then(function(t){return Lh(n,t),e=Mh(n,t,"reauthenticate"),n.f=null,n.reload()}).then(function(){return e}),!0)},t.Bc=function(t){return Ji("firebase.User.prototype.linkAndRetrieveDataWithCredential is deprecated. Please use firebase.User.prototype.linkWithCredential instead."),this.pb(t)},t.pb=function(t){var n=this,e=null;return Kh(this,xh(this,t.providerId).then(function(){return n.I()}).then(function(e){return t.b(n.a,e)}).then(function(t){return e=Mh(n,t,"link"),jh(n,t)}).then(function(){return e}))},t.Cc=function(t,n){var e=this;return Kh(this,xh(this,"phone").then(function(){return Jc(yh(e),t,n,I(e.pb,e))}))},t.Lc=function(t,n){var e=this;return Kh(this,Nn().then(function(){return Jc(yh(e),t,n,I(e.sb,e))}),!0)},t.Ab=function(t){var n=this;return Kh(this,this.I().then(function(e){return n.a.Ab(e,t)}).then(function(t){return Lh(n,t),n.reload()}))},t.dd=function(t){var n=this;return Kh(this,this.I().then(function(e){return t.b(n.a,e)}).then(function(t){return Lh(n,t),n.reload()}))},t.Bb=function(t){var n=this;return Kh(this,this.I().then(function(e){return n.a.Bb(e,t)}).then(function(t){return Lh(n,t),n.reload()}))},t.Cb=function(t){if(void 0===t.displayName&&void 0===t.photoURL)return Nh(this);var n=this;return Kh(this,this.I().then(function(e){return n.a.Cb(e,{displayName:t.displayName,photoUrl:t.photoURL})}).then(function(t){return Lh(n,t),Rh(n,"displayName",t.displayName||null),Rh(n,"photoURL",t.photoUrl||null),H(n.providerData,function(t){"password"===t.providerId&&(zi(t,"displayName",n.displayName),zi(t,"photoURL",n.photoURL))}),Eh(n)}).then(Sh))},t.bd=function(t){var n=this;return Kh(this,Dh(this).then(function(e){return X(_h(n),t)?function(t,n,e){return tu(t,Ss,{idToken:n,deleteProvider:e})}(n.a,e,[t]).then(function(t){var e={};return H(t.providerUserInfo||[],function(t){e[t.providerId]=!0}),H(_h(n),function(t){e[t]||Ch(n,t)}),e[Mo.PROVIDER_ID]||zi(n,"phoneNumber",null),Eh(n)}):Eh(n).then(function(){throw new k("no-such-provider")})}))},t.delete=function(){var t=this;return Kh(this,this.I().then(function(n){return tu(t.a,ks,{idToken:n})}).then(function(){t.dispatchEvent(new rh("userDeleted"))})).then(function(){for(var n=0;n<t.G.length;n++)t.G[n].cancel("app-deleted");vh(t,null),mh(t,null),bh(t,null),t.G=[],t.A=!0,Ih(t),zi(t,"refreshToken",null),t.i&&Cc(t.i,t)})},t.Eb=function(t,n){return!!("linkViaPopup"==t&&(this.h||null)==n&&this.g||"reauthViaPopup"==t&&(this.h||null)==n&&this.g||"linkViaRedirect"==t&&(this.ga||null)==n||"reauthViaRedirect"==t&&(this.ga||null)==n)},t.ma=function(t,n,e,i){"linkViaPopup"!=t&&"reauthViaPopup"!=t||i!=(this.h||null)||(e&&this.O?this.O(e):n&&!e&&this.g&&this.g(n),this.c&&(this.c.cancel(),this.c=null),delete this.g,delete this.O)},t.Fa=function(t,n){return"linkViaPopup"==t&&n==(this.h||null)?I(this.Jb,this):"reauthViaPopup"==t&&n==(this.h||null)?I(this.Kb,this):"linkViaRedirect"==t&&(this.ga||null)==n?I(this.Jb,this):"reauthViaRedirect"==t&&(this.ga||null)==n?I(this.Kb,this):null},t.Dc=function(t){var n=this;return Uh(this,"linkViaPopup",t,function(){return xh(n,t.providerId).then(function(){return Eh(n)})},!1)},t.Mc=function(t){return Uh(this,"reauthViaPopup",t,function(){return Nn()},!0)},t.Ec=function(t){var n=this;return Vh(this,"linkViaRedirect",t,function(){return xh(n,t.providerId)},!1)},t.Nc=function(t){return Vh(this,"reauthViaRedirect",t,function(){return Nn()},!0)},t.Jb=function(t,n,e,i){var r=this;this.c&&(this.c.cancel(),this.c=null);var o=null;return Kh(this,this.I().then(function(e){return bs(r.a,{requestUri:t,postBody:i,sessionId:n,idToken:e})}).then(function(t){return o=Mh(r,t,"link"),jh(r,t)}).then(function(){return o}))},t.Kb=function(t,n,e,i){var r=this;this.c&&(this.c.cancel(),this.c=null);var o=null;return Kh(this,Nn().then(function(){return co(ys(r.a,{requestUri:t,sessionId:n,postBody:i,tenantId:e}),r.uid)}).then(function(t){return o=Mh(r,t,"reauthenticate"),Lh(r,t),r.f=null,r.reload()}).then(function(){return o}),!0)},t.tb=function(t){var n=this,e=null;return Kh(this,this.I().then(function(n){return e=n,void 0===t||dt(t)?{}:Fr(new Cr(t))}).then(function(t){return n.a.tb(e,t)}).then(function(t){if(n.email!=t)return n.reload()}).then(function(){}))},t.Db=function(t,n){var e=this,i=null;return Kh(this,this.I().then(function(t){return i=t,void 0===n||dt(n)?{}:Fr(new Cr(n))}).then(function(n){return e.a.Db(i,t,n)}).then(function(t){if(e.email!=t)return e.reload()}).then(function(){}))},t.ic=function(t){var n=null,e=this;return Kh(this,t=co(Nn(t),e.uid).then(function(t){return n=Mh(e,t,"reauthenticate"),Lh(e,t),e.f=null,e.reload()}).then(function(){return n}),!0)},t.toJSON=function(){return this.w()},t.w=function(){var t={uid:this.uid,displayName:this.displayName,photoURL:this.photoURL,email:this.email,emailVerified:this.emailVerified,phoneNumber:this.phoneNumber,isAnonymous:this.isAnonymous,tenantId:this.tenantId,providerData:[],apiKey:this.l,appName:this.m,authDomain:this.o,stsTokenManager:this.b.w(),redirectEventId:this.ga||null};return this.metadata&&mt(t,this.metadata.w()),H(this.providerData,function(n){t.providerData.push(function(t){var n,e={};for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(n))}),mt(t,this.N.w()),t};var Gh={name:"redirectUser",D:"session"};function Bh(t){return tc(t.b,Gh,t.a)}function Wh(t){this.a=t,this.b=$u(),this.c=null,this.f=function(t){var n=Yh("local"),e=Yh("session"),i=Yh("none");return function(t,n,e){var i=Qu(n,e),r=Zu(t,n.D);return t.get(n,e).then(function(o){var a=null;try{a=ji(u.localStorage.getItem(i))}catch(s){}if(a&&!o)return u.localStorage.removeItem(i),t.set(n,a,e);a&&o&&"localStorage"!=r.type&&u.localStorage.removeItem(i)})}(t.b,n,t.a).then(function(){return t.b.get(e,t.a)}).then(function(r){return r?e:t.b.get(i,t.a).then(function(e){return e?i:t.b.get(n,t.a).then(function(e){return e?n:t.b.get(Jh,t.a).then(function(t){return t?Yh(t):n})})})}).then(function(n){return t.c=n,Xh(t,n.D)}).s(function(){t.c||(t.c=n)})}(this),this.b.addListener(Yh("local"),this.a,I(this.g,this))}function Xh(t,n){var e,i=[];for(e in Yu)Yu[e]!==n&&i.push(tc(t.b,Yh(Yu[e]),t.a));return i.push(tc(t.b,Jh,t.a)),function(t){return new wn(function(n,e){var i=t.length,r=[];if(i)for(var o=function(t,e){i--,r[t]=e,0==i&&n(r)},a=function(t){e(t)},s=0;s<t.length;s++)On(t[s],T(o,s),a);else n(r)})}(i)}Wh.prototype.g=function(){var t=this,n=Yh("local");Qh(this,function(){return Nn().then(function(){return t.c&&"local"!=t.c.D?t.b.get(n,t.a):null}).then(function(e){if(e)return Xh(t,"local").then(function(){t.c=n})})})};var Jh={name:"persistence",D:"session"};function Yh(t){return{name:"authUser",D:t}}function zh(t,n){return Qh(t,function(){return t.b.set(t.c,n.w(),t.a)})}function $h(t){return Qh(t,function(){return tc(t.b,t.c,t.a)})}function Zh(t,n,e){return Qh(t,function(){return t.b.get(t.c,t.a).then(function(t){return t&&n&&(t.authDomain=n),t&&e&&(t.emulatorConfig=e),qh(t||{})})})}function Qh(t,n){return t.f=t.f.then(n,n),t.f}function tl(t){if(this.m=!1,zi(this,"settings",new Wc),zi(this,"app",t),!ul(this).options||!ul(this).options.apiKey)throw new k("invalid-api-key");t=n.SDK_VERSION?Ni(n.SDK_VERSION):null,this.a=new Ja(ul(this).options&&ul(this).options.apiKey,R(N),t),this.R=[],this.u=[],this.P=[],this.ac=n.INTERNAL.createSubscribe(I(this.yc,this)),this.X=void 0,this.bc=n.INTERNAL.createSubscribe(I(this.zc,this)),al(this,null),this.l=new Wh(ul(this).options.apiKey+":"+ul(this).name),this.G=new Hh(ul(this).options.apiKey+":"+ul(this).name),this.$=fl(this,function(t){var n=ul(t).options.authDomain,e=function(t){var n=function(t,n){return t.b.get(Gh,t.a).then(function(t){return t&&n&&(t.authDomain=n),qh(t||{})})}(t.G,ul(t).options.authDomain).then(function(n){return(t.o=n)&&(n.ha=t.G),Bh(t.G)});return fl(t,n)}(t).then(function(){return Zh(t.l,n,t.f)}).then(function(n){return n?(n.ha=t.G,t.o&&(t.o.ga||null)==(n.ga||null)?n:n.reload().then(function(){return zh(t.l,n).then(function(){return n})}).s(function(e){return"auth/network-request-failed"==e.code?n:$h(t.l)})):null}).then(function(n){al(t,n||null)});return fl(t,e)}(this)),this.i=fl(this,function(t){return t.$.then(function(){return ol(t)}).s(function(){}).then(function(){if(!t.m)return t.pa()}).s(function(){}).then(function(){if(!t.m){t.ba=!0;var n=t.l;n.b.addListener(Yh("local"),n.a,t.pa)}})}(this)),this.ba=!1,this.pa=I(this.Yc,this),this.Ba=I(this.da,this),this.ya=I(this.kc,this),this.za=I(this.vc,this),this.Aa=I(this.wc,this),this.b=null,function(t){var n=ul(t).options.authDomain,e=ul(t).options.apiKey;n&&Ri()&&(t.gb=t.$.then(function(){if(!t.m){if(t.b=Vc(n,e,ul(t).name,t.f),Oc(t.b,t),cl(t)&&Ah(cl(t)),t.o){Ah(t.o);var i=t.o;i.wa(t.ka()),vh(i,t),gh(i=t.o,t.N),bh(i,t),es((i=t.o).a,t.f),mh(i,t),t.o=null}return t.b}}))}(this),this.INTERNAL={},this.INTERNAL.delete=I(this.delete,this),this.INTERNAL.logFramework=I(this.Fc,this),this.A=0,we.call(this),function(t){Object.defineProperty(t,"lc",{get:function(){return this.ka()},set:function(t){this.wa(t)},enumerable:!1}),t.aa=null,Object.defineProperty(t,"ti",{get:function(){return this.S()},set:function(t){this.xb(t)},enumerable:!1}),t.W=null}(this),this.N=[],this.f=null}function nl(t){zn.call(this,"languageCodeChanged"),this.h=t}function el(t){zn.call(this,"emulatorConfigChanged"),this.c=t}function il(t){zn.call(this,"frameworkChanged"),this.f=t}function rl(t){return t.gb||_n(new k("auth-domain-config-required"))}function ol(t){if(!Ri())return _n(new k("operation-not-supported-in-this-environment"));var n=rl(t).then(function(){return t.b.qa()}).then(function(t){return t?Zi(t):null});return fl(t,n)}function al(t,n){cl(t)&&(function(t,n){Y(t.R,function(t){return t==n})}(cl(t),t.Ba),le(cl(t),"tokenChanged",t.ya),le(cl(t),"userDeleted",t.za),le(cl(t),"userInvalidated",t.Aa),Ih(cl(t))),n&&(n.R.push(t.Ba),ue(n,"tokenChanged",t.ya),ue(n,"userDeleted",t.za),ue(n,"userInvalidated",t.Aa),0<t.A&&wh(n)),zi(t,"currentUser",n),n&&(n.wa(t.ka()),vh(n,t),gh(n,t.N),bh(n,t),es(n.a,t.f),mh(n,t))}function sl(t,n){var e=null,i=null;return fl(t,n.then(function(n){return e=Uo(n),i=Yr(n),function(t,n){var e={};return e.apiKey=ul(t).options.apiKey,e.authDomain=ul(t).options.authDomain,e.appName=ul(t).name,t.f&&(e.emulatorConfig=t.f),t.$.then(function(){return function(t,n,e,i){var r=new ph(t,n);return e&&(r.ha=e),i&&gh(r,i),r.reload().then(function(){return r})}(e,n,t.G,t.Ga())}).then(function(n){return cl(t)&&n.uid==cl(t).uid?(Ph(cl(t),n),t.da(n)):(al(t,n),Ah(n),t.da(n))}).then(function(){ll(t)})}(t,n)},function(n){var e=null;throw n&&"auth/multi-factor-auth-required"===n.code&&(e=th(n.w(),t,I(t.jc,t))),e||n}).then(function(){return Zi({user:cl(t),credential:e,additionalUserInfo:i,operationType:"signIn"})}))}function ul(t){return t.app}function cl(t){return t.currentUser}function hl(t){return cl(t)&&cl(t)._lat||null}function ll(t){if(t.ba){for(var n=0;n<t.u.length;n++)t.u[n]&&t.u[n](hl(t));if(t.X!==t.getUid()&&t.P.length)for(t.X=t.getUid(),n=0;n<t.P.length;n++)t.P[n]&&t.P[n](hl(t))}}function fl(t,n){return t.R.push(n),n.na(function(){J(t.R,n)}),n}function dl(){}function pl(){this.a={},this.b=1e12}Wh.prototype.wb=function(t){var n=null,e=this;return function(t){var n=new k("invalid-persistence-type"),e=new k("unsupported-persistence-type");t:{for(i in Yu)if(Yu[i]==t){var i=!0;break t}i=!1}if(!i||"string"!=typeof t)throw n;switch(Ii()){case"ReactNative":if("session"===t)throw e;break;case"Node":if("none"!==t)throw e;break;case"Worker":if("session"===t||!_u()&&"none"!==t)throw e;break;default:if(!Ci()&&"none"!==t)throw e}}(t),Qh(this,function(){return t!=e.c.D?e.b.get(e.c,e.a).then(function(i){return n=i,Xh(e,t)}).then(function(){if(e.c=Yh(t),n)return e.b.set(e.c,n,e.a)}):Nn()})},A(tl,we),A(nl,zn),A(el,zn),A(il,zn),(t=tl.prototype).wb=function(t){return fl(this,t=this.l.wb(t))},t.wa=function(t){this.aa===t||this.m||(this.aa=t,ns(this.a,this.aa),this.dispatchEvent(new nl(this.ka())))},t.ka=function(){return this.aa},t.ed=function(){var t=u.navigator;this.wa(t&&(t.languages&&t.languages[0]||t.language||t.userLanguage)||null)},t.fd=function(t){if(!this.f){if(!/^https?:\/\//.test(t))throw new k("argument-error","Emulator URL must start with a valid scheme (http:// or https://).");Hi("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),u.document&&gi().then(function(){var t=u.document.createElement("div");t.innerText="Running in emulator mode. Do not use with production credentials.",t.style.position="fixed",t.style.width="100%",t.style.backgroundColor="#ffffff",t.style.border=".1em solid #000000",t.style.color="#ff0000",t.style.bottom="0px",t.style.left="0px",t.style.margin="0px",t.style.zIndex=1e4,t.style.textAlign="center",t.classList.add("firebase-emulator-warning"),u.document.body.appendChild(t)}),this.f={url:t},this.settings.hb=!0,es(this.a,this.f),this.dispatchEvent(new el(this.f))}},t.Fc=function(t){this.N.push(t),rs(this.a,n.SDK_VERSION?Ni(n.SDK_VERSION,this.N):null),this.dispatchEvent(new il(this.N))},t.Ga=function(){return $(this.N)},t.xb=function(t){this.W===t||this.m||(this.W=t,this.a.b=this.W)},t.S=function(){return this.W},t.toJSON=function(){return{apiKey:ul(this).options.apiKey,authDomain:ul(this).options.authDomain,appName:ul(this).name,currentUser:cl(this)&&cl(this).w()}},t.Eb=function(t,n){switch(t){case"unknown":case"signInViaRedirect":return!0;case"signInViaPopup":return this.h==n&&!!this.g;default:return!1}},t.ma=function(t,n,e,i){"signInViaPopup"==t&&this.h==i&&(e&&this.O?this.O(e):n&&!e&&this.g&&this.g(n),this.c&&(this.c.cancel(),this.c=null),delete this.g,delete this.O)},t.Fa=function(t,n){return"signInViaRedirect"==t||"signInViaPopup"==t&&this.h==n&&this.g?I(this.hc,this):null},t.hc=function(t,n,e,i){var r=this,o={requestUri:t,postBody:i,sessionId:n,tenantId:e};return this.c&&(this.c.cancel(),this.c=null),r.$.then(function(){return sl(r,gs(r.a,o))})},t.Wc=function(t){if(!Ri())return _n(new k("operation-not-supported-in-this-environment"));var e=this,i=Jr(t.providerId),r=Ui(),o=null;(!Li()||yi())&&ul(this).options.authDomain&&t.isOAuthProvider&&(o=vu(ul(this).options.authDomain,ul(this).options.apiKey,ul(this).name,"signInViaPopup",t,null,r,n.SDK_VERSION||null,null,null,this.S(),this.f));var a=pi(o,i&&i.ua,i&&i.ta);return fl(this,i=rl(this).then(function(n){return Dc(n,a,"signInViaPopup",t,r,!!o,e.S())}).then(function(){return new wn(function(t,n){e.ma("signInViaPopup",null,new k("cancelled-popup-request"),e.h),e.g=t,e.O=n,e.h=r,e.c=Mc(e.b,e,"signInViaPopup",a,r)})}).then(function(t){return a&&di(a),t?Zi(t):null}).s(function(t){throw a&&di(a),t}))},t.Xc=function(t){if(!Ri())return _n(new k("operation-not-supported-in-this-environment"));var n=this;return fl(this,rl(this).then(function(){return function(t){return Qh(t,function(){return t.b.set(Jh,t.c.D,t.a)})}(n.l)}).then(function(){return xc(n.b,"signInViaRedirect",t,void 0,n.S())}))},t.qa=function(){var t=this;return ol(this).then(function(n){return t.b&&qc(t.b.b),n}).s(function(n){throw t.b&&qc(t.b.b),n})},t.cd=function(t){if(!t)return _n(new k("null-user"));if(this.W!=t.tenantId)return _n(new k("tenant-id-mismatch"));var n=this,e={};e.apiKey=ul(this).options.apiKey,e.authDomain=ul(this).options.authDomain,e.appName=ul(this).name;var i=function(t,n,e,i){var r=t.b,o={};return o[za]=r.b&&r.b.toString(),o.refreshToken=r.a,n=new ph(n||{apiKey:t.l,authDomain:t.o,appName:t.m},o),e&&(n.ha=e),i&&gh(n,i),Ph(n,t),n}(t,e,n.G,n.Ga());return fl(this,this.i.then(function(){if(ul(n).options.apiKey!=t.l)return i.reload()}).then(function(){return cl(n)&&t.uid==cl(n).uid?(Ph(cl(n),t),n.da(t)):(al(n,i),Ah(i),n.da(i))}).then(function(){ll(n)}))},t.zb=function(){var t=this;return fl(this,this.i.then(function(){return t.b&&qc(t.b.b),cl(t)?(al(t,null),$h(t.l).then(function(){ll(t)})):Nn()}))},t.Yc=function(){var t=this;return Zh(this.l,ul(this).options.authDomain).then(function(n){if(!t.m){var e;if(e=cl(t)&&n){e=cl(t).uid;var i=n.uid;e=null!=e&&""!==e&&null!=i&&""!==i&&e==i}if(e)return Ph(cl(t),n),cl(t).I();(cl(t)||n)&&(al(t,n),n&&(Ah(n),n.ha=t.G),t.b&&Oc(t.b,t),ll(t))}})},t.da=function(t){return zh(this.l,t)},t.kc=function(){ll(this),this.da(cl(this))},t.vc=function(){this.zb()},t.wc=function(){this.zb()},t.jc=function(t){var n=this;return this.i.then(function(){return sl(n,Nn(t))})},t.yc=function(t){var n=this;this.addAuthTokenListener(function(){t.next(cl(n))})},t.zc=function(t){var n=this;!function(t,n){t.P.push(n),fl(t,t.i.then(function(){!t.m&&X(t.P,n)&&t.X!==t.getUid()&&(t.X=t.getUid(),n(hl(t)))}))}(this,function(){t.next(cl(n))})},t.Hc=function(t,n,e){var i=this;return this.ba&&Promise.resolve().then(function(){"function"==typeof t?t(cl(i)):"function"==typeof t.next&&t.next(cl(i))}),this.ac(t,n,e)},t.Gc=function(t,n,e){var i=this;return this.ba&&Promise.resolve().then(function(){i.X=i.getUid(),"function"==typeof t?t(cl(i)):"function"==typeof t.next&&t.next(cl(i))}),this.bc(t,n,e)},t.mc=function(t){var n=this;return fl(this,this.i.then(function(){return cl(n)?cl(n).I(t).then(function(t){return{accessToken:t}}):null}))},t.Sc=function(t){var n=this;return this.i.then(function(){return sl(n,tu(n.a,Js,{token:t}))}).then(function(t){var e=t.user;return Rh(e,"isAnonymous",!1),n.da(e),t})},t.Tc=function(t,n){var e=this;return this.i.then(function(){return sl(e,tu(e.a,Ys,{email:t,password:n}))})},t.dc=function(t,n){var e=this;return this.i.then(function(){return sl(e,tu(e.a,Es,{email:t,password:n}))})},t.Za=function(t){var n=this;return this.i.then(function(){return sl(n,t.ja(n.a))})},t.Rc=function(t){return Ji("firebase.auth.Auth.prototype.signInAndRetrieveDataWithCredential is deprecated. Please use firebase.auth.Auth.prototype.signInWithCredential instead."),this.Za(t)},t.yb=function(){var t=this;return this.i.then(function(){var n=cl(t);if(n&&n.isAnonymous){var e=Zi({providerId:null,isNewUser:!1});return Zi({user:n,credential:null,additionalUserInfo:e,operationType:"signIn"})}return sl(t,t.a.yb()).then(function(n){var e=n.user;return Rh(e,"isAnonymous",!0),t.da(e),n})})},t.getUid=function(){return cl(this)&&cl(this).uid||null},t.cc=function(t){this.addAuthTokenListener(t),this.A++,0<this.A&&cl(this)&&wh(cl(this))},t.Oc=function(t){var n=this;H(this.u,function(e){e==t&&n.A--}),0>this.A&&(this.A=0),0==this.A&&cl(this)&&Ih(cl(this)),this.removeAuthTokenListener(t)},t.addAuthTokenListener=function(t){var n=this;this.u.push(t),fl(this,this.i.then(function(){n.m||X(n.u,t)&&t(hl(n))}))},t.removeAuthTokenListener=function(t){Y(this.u,function(n){return n==t})},t.delete=function(){this.m=!0;for(var t=0;t<this.R.length;t++)this.R[t].cancel("app-deleted");return this.R=[],this.l&&(t=this.l).b.removeListener(Yh("local"),t.a,this.pa),this.b&&(Cc(this.b,this),qc(this.b.b)),Promise.resolve()},t.gc=function(t){return fl(this,function(t,n){return tu(t,As,{identifier:n,continueUri:Pi()?ci():"http://localhost"}).then(function(t){return t.signinMethods||[]})}(this.a,t))},t.Ac=function(t){return!!Po(t)},t.vb=function(t,n){var e=this;return fl(this,Nn().then(function(){var t=new Cr(n);if(!t.c)throw new k("argument-error",Dr+" must be true when sending sign in link to email");return Fr(t)}).then(function(n){return e.a.vb(t,n)}).then(function(){}))},t.hd=function(t){return this.Qa(t).then(function(t){return t.data.email})},t.mb=function(t,n){return fl(this,this.a.mb(t,n).then(function(){}))},t.Qa=function(t){return fl(this,this.a.Qa(t).then(function(t){return new sr(t)}))},t.ib=function(t){return fl(this,this.a.ib(t).then(function(){}))},t.ub=function(t,n){var e=this;return fl(this,Nn().then(function(){return void 0===n||dt(n)?{}:Fr(new Cr(n))}).then(function(n){return e.a.ub(t,n)}).then(function(){}))},t.Vc=function(t,n){return fl(this,Jc(this,t,n,I(this.Za,this)))},t.Uc=function(t,n){var e=this;return fl(this,Nn().then(function(){var i=n||ci(),r=Ro(t,i);if(!(i=Po(i)))throw new k("argument-error","Invalid email link!");if(i.tenantId!==e.S())throw new k("tenant-id-mismatch");return e.Za(r)}))},dl.prototype.render=function(){},dl.prototype.reset=function(){},dl.prototype.getResponse=function(){},dl.prototype.execute=function(){};var vl=null;function ml(t,n){return(n=gl(n))&&t.a[n]||null}function gl(t){return(t=void 0===t?1e12:t)?t.toString():null}function bl(t,n){this.g=!1,this.c=n,this.a=this.b=null,this.h="invisible"!==this.c.size,this.f=sn(t);var e=this;this.i=function(){e.execute()},this.h?this.execute():ue(this.f,"click",this.i)}function yl(t){if(t.g)throw Error("reCAPTCHA mock was already deleted!")}function wl(){}function Il(){}pl.prototype.render=function(t,n){return this.a[this.b.toString()]=new bl(t,n),this.b++},pl.prototype.reset=function(t){var n=ml(this,t);t=gl(t),n&&t&&(n.delete(),delete this.a[t])},pl.prototype.getResponse=function(t){return(t=ml(this,t))?t.getResponse():null},pl.prototype.execute=function(t){(t=ml(this,t))&&t.execute()},bl.prototype.getResponse=function(){return yl(this),this.b},bl.prototype.execute=function(){yl(this);var t=this;this.a||(this.a=setTimeout(function(){t.b=function(){for(var t=50,n=[];0<t;)n.push("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(Math.floor(62*Math.random()))),t--;return n.join("")}();var n=t.c.callback,e=t.c["expired-callback"];if(n)try{n(t.b)}catch(i){}t.a=setTimeout(function(){if(t.a=null,t.b=null,e)try{e()}catch(i){}t.h&&t.execute()},6e4)},500))},bl.prototype.delete=function(){yl(this),this.g=!0,clearTimeout(this.a),this.a=null,le(this.f,"click",this.i)},zi(wl,"FACTOR_ID","phone"),Il.prototype.g=function(){return vl||(vl=new p
gitextract_r48f2v_5/
├── README.md
├── angular.json
├── dist/
│ └── amitTest/
│ ├── 3rdpartylicenses.txt
│ ├── 4.42a6c2c86603281e7077.js
│ ├── index.html
│ ├── main.7433f5e351bc51485752.js
│ ├── polyfills.831f7ac70868703522b7.js
│ ├── runtime.ee563f840fc37d3d6149.js
│ └── styles.97b549a6b24b654690f9.css
├── e2e/
│ ├── protractor.conf.js
│ ├── src/
│ │ ├── app.e2e-spec.ts
│ │ └── app.po.ts
│ └── tsconfig.json
├── firebase.json
├── karma.conf.js
├── n/
│ ├── 404.html
│ └── index.html
├── package.json
├── src/
│ ├── app/
│ │ ├── admin/
│ │ │ ├── admin-orders/
│ │ │ │ ├── admin-orders.component.html
│ │ │ │ ├── admin-orders.component.scss
│ │ │ │ ├── admin-orders.component.spec.ts
│ │ │ │ └── admin-orders.component.ts
│ │ │ ├── admin-products/
│ │ │ │ ├── admin-products.component.html
│ │ │ │ ├── admin-products.component.scss
│ │ │ │ ├── admin-products.component.spec.ts
│ │ │ │ └── admin-products.component.ts
│ │ │ ├── admin.module.ts
│ │ │ ├── product-form/
│ │ │ │ ├── product-form.component.html
│ │ │ │ ├── product-form.component.scss
│ │ │ │ ├── product-form.component.spec.ts
│ │ │ │ └── product-form.component.ts
│ │ │ └── service/
│ │ │ ├── admin-auth-guard.service.spec.ts
│ │ │ └── admin-auth-guard.service.ts
│ │ ├── app-routing.module.ts
│ │ ├── app.component.html
│ │ ├── app.component.scss
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── core/
│ │ │ ├── bs-navbar/
│ │ │ │ ├── bs-navbar.component.html
│ │ │ │ ├── bs-navbar.component.scss
│ │ │ │ ├── bs-navbar.component.spec.ts
│ │ │ │ └── bs-navbar.component.ts
│ │ │ ├── core.module.ts
│ │ │ ├── home/
│ │ │ │ ├── home.component.html
│ │ │ │ ├── home.component.scss
│ │ │ │ ├── home.component.spec.ts
│ │ │ │ └── home.component.ts
│ │ │ └── login/
│ │ │ ├── login.component.html
│ │ │ ├── login.component.scss
│ │ │ ├── login.component.spec.ts
│ │ │ └── login.component.ts
│ │ ├── shared/
│ │ │ ├── component/
│ │ │ │ ├── products-card/
│ │ │ │ │ ├── products-card.component.html
│ │ │ │ │ ├── products-card.component.scss
│ │ │ │ │ ├── products-card.component.spec.ts
│ │ │ │ │ └── products-card.component.ts
│ │ │ │ └── products-quantity/
│ │ │ │ ├── products-quantity.component.html
│ │ │ │ ├── products-quantity.component.scss
│ │ │ │ ├── products-quantity.component.spec.ts
│ │ │ │ └── products-quantity.component.ts
│ │ │ ├── model/
│ │ │ │ ├── app-user.ts
│ │ │ │ ├── order.ts
│ │ │ │ └── product.ts
│ │ │ ├── service/
│ │ │ │ ├── auth-guard.service.spec.ts
│ │ │ │ ├── auth-guard.service.ts
│ │ │ │ ├── authservice.service.spec.ts
│ │ │ │ ├── authservice.service.ts
│ │ │ │ ├── categoryservice.service.spec.ts
│ │ │ │ ├── categoryservice.service.ts
│ │ │ │ ├── orders.service.spec.ts
│ │ │ │ ├── orders.service.ts
│ │ │ │ ├── product-service.service.spec.ts
│ │ │ │ ├── product-service.service.ts
│ │ │ │ ├── shopping-cart.service.spec.ts
│ │ │ │ ├── shopping-cart.service.ts
│ │ │ │ ├── user.service.spec.ts
│ │ │ │ └── user.service.ts
│ │ │ └── shared.module.ts
│ │ └── shopping/
│ │ ├── components/
│ │ │ ├── check-out/
│ │ │ │ ├── check-out.component.html
│ │ │ │ ├── check-out.component.scss
│ │ │ │ ├── check-out.component.spec.ts
│ │ │ │ └── check-out.component.ts
│ │ │ ├── my-orders/
│ │ │ │ ├── my-orders.component.html
│ │ │ │ ├── my-orders.component.scss
│ │ │ │ ├── my-orders.component.spec.ts
│ │ │ │ └── my-orders.component.ts
│ │ │ ├── order-success/
│ │ │ │ ├── order-success.component.html
│ │ │ │ ├── order-success.component.scss
│ │ │ │ ├── order-success.component.spec.ts
│ │ │ │ └── order-success.component.ts
│ │ │ ├── products/
│ │ │ │ ├── products-filter/
│ │ │ │ │ ├── products-filter.component.html
│ │ │ │ │ ├── products-filter.component.scss
│ │ │ │ │ ├── products-filter.component.spec.ts
│ │ │ │ │ └── products-filter.component.ts
│ │ │ │ ├── products.component.html
│ │ │ │ ├── products.component.scss
│ │ │ │ ├── products.component.spec.ts
│ │ │ │ └── products.component.ts
│ │ │ ├── shopping-cart/
│ │ │ │ ├── shopping-cart.component.html
│ │ │ │ ├── shopping-cart.component.scss
│ │ │ │ ├── shopping-cart.component.spec.ts
│ │ │ │ └── shopping-cart.component.ts
│ │ │ ├── shopping-cart-summary/
│ │ │ │ ├── shopping-cart-summary.component.html
│ │ │ │ ├── shopping-cart-summary.component.scss
│ │ │ │ ├── shopping-cart-summary.component.spec.ts
│ │ │ │ └── shopping-cart-summary.component.ts
│ │ │ └── shopping-form/
│ │ │ ├── shopping-form.component.html
│ │ │ ├── shopping-form.component.scss
│ │ │ ├── shopping-form.component.spec.ts
│ │ │ └── shopping-form.component.ts
│ │ └── shopping.module.ts
│ ├── assets/
│ │ └── .gitkeep
│ ├── environments/
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── styles.scss
│ └── test.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.spec.json
├── tslint.json
├── y/
│ └── index.html
└── yes/
└── index.html
Condensed preview — 125 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,151K chars).
[
{
"path": "README.md",
"chars": 1467,
"preview": "# shoppingcart\n\n# https://console.firebase.google.com/u/0/\n\n# Create the Project and generate the key\n\n# Replace the key..."
},
{
"path": "angular.json",
"chars": 3721,
"preview": "{\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n \"version\": 1,\n \"newProjectRoot\": \"projects\",\n \"..."
},
{
"path": "dist/amitTest/3rdpartylicenses.txt",
"chars": 26846,
"preview": "@angular/common\nMIT\n\n@angular/core\nMIT\n\n@angular/fire\nMIT\n\n@angular/forms\nMIT\n\n@angular/localize\nMIT\n\n@angular/platform-..."
},
{
"path": "dist/amitTest/4.42a6c2c86603281e7077.js",
"chars": 177744,
"preview": "(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{\"6nsN\":function(t,n,e){\"use strict\";e.r(n),e(\"LOEa\")},LOEa:func..."
},
{
"path": "dist/amitTest/index.html",
"chars": 538,
"preview": "<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\">\n <title>AmitTest</title>\n <base href=\"/\">\n <meta nam..."
},
{
"path": "dist/amitTest/main.7433f5e351bc51485752.js",
"chars": 628616,
"preview": "(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{0:function(t,e,n){t.exports=n(\"zUnb\")},\"2QA8\":function(t,e,n){\"..."
},
{
"path": "dist/amitTest/polyfills.831f7ac70868703522b7.js",
"chars": 37491,
"preview": "(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{1:function(e,t,n){e.exports=n(\"hN/g\")},\"hN/g\":function(e,t,n){\"..."
},
{
"path": "dist/amitTest/runtime.ee563f840fc37d3d6149.js",
"chars": 2278,
"preview": "!function(e){function r(r){for(var n,i,a=r[0],c=r[1],l=r[2],p=0,s=[];p<a.length;p++)i=a[p],Object.prototype.hasOwnProper..."
},
{
"path": "dist/amitTest/styles.97b549a6b24b654690f9.css",
"chars": 153011,
"preview": "@charset \"UTF-8\";\n/*!\n * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors..."
},
{
"path": "e2e/protractor.conf.js",
"chars": 904,
"preview": "// @ts-check\n// Protractor configuration file, see link for more information\n// https://github.com/angular/protractor/bl..."
},
{
"path": "e2e/src/app.e2e-spec.ts",
"chars": 659,
"preview": "import { browser, logging } from 'protractor';\nimport { AppPage } from './app.po';\n\ndescribe('workspace-project App', ()..."
},
{
"path": "e2e/src/app.po.ts",
"chars": 274,
"preview": "import { browser, by, element } from 'protractor';\n\nexport class AppPage {\n async navigateTo(): Promise<unknown> {..."
},
{
"path": "e2e/tsconfig.json",
"chars": 274,
"preview": "/* To learn more about this file see: https://angular.io/config/tsconfig. */\n{\n \"extends\": \"../tsconfig.json\",\n \"compi..."
},
{
"path": "firebase.json",
"chars": 53,
"preview": "{\n \"hosting\": {\n \"public\": \"dist/amitTest\"\n }\n}\n"
},
{
"path": "karma.conf.js",
"chars": 1425,
"preview": "// Karma configuration file, see link for more information\n// https://karma-runner.github.io/1.0/config/configuration-fi..."
},
{
"path": "n/404.html",
"chars": 1808,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initia..."
},
{
"path": "n/index.html",
"chars": 4340,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initia..."
},
{
"path": "package.json",
"chars": 1691,
"preview": "{\n \"name\": \"amit-test\",\n \"version\": \"0.0.0\",\n \"scripts\": {\n \"ng\": \"ng\",\n \"start\": \"ng serve\",\n \"build\": \"ng..."
},
{
"path": "src/app/admin/admin-orders/admin-orders.component.html",
"chars": 27,
"preview": "<p>admin-orders works!</p>\n"
},
{
"path": "src/app/admin/admin-orders/admin-orders.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/admin/admin-orders/admin-orders.component.spec.ts",
"chars": 662,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { AdminOrdersComponent } from './admin-orders..."
},
{
"path": "src/app/admin/admin-orders/admin-orders.component.ts",
"chars": 299,
"preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-admin-orders',\n templateUrl: './admin..."
},
{
"path": "src/app/admin/admin-products/admin-products.component.html",
"chars": 1161,
"preview": "<p>\n <a routerLink=\"/admin/products/new\" class=\"btn btn-primary\">New Product</a>\n</p>\n<p>\n <input\n type=\"text\"..."
},
{
"path": "src/app/admin/admin-products/admin-products.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/admin/admin-products/admin-products.component.spec.ts",
"chars": 676,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { AdminProductsComponent } from './admin-prod..."
},
{
"path": "src/app/admin/admin-products/admin-products.component.ts",
"chars": 1595,
"preview": "import { Component, OnDestroy, OnInit } from '@angular/core';\n// import { DataTableResource } from 'angular-4-data-table..."
},
{
"path": "src/app/admin/admin.module.ts",
"chars": 1552,
"preview": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@..."
},
{
"path": "src/app/admin/product-form/product-form.component.html",
"chars": 2917,
"preview": "<div class=\"row\">\n <div class=\"col-md-6\">\n <form #formvalue=\"ngForm\" (ngSubmit)=\"save(formvalue.value)\">\n <div..."
},
{
"path": "src/app/admin/product-form/product-form.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/admin/product-form/product-form.component.spec.ts",
"chars": 662,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ProductFormComponent } from './product-form..."
},
{
"path": "src/app/admin/product-form/product-form.component.ts",
"chars": 1430,
"preview": "import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Ca..."
},
{
"path": "src/app/admin/service/admin-auth-guard.service.spec.ts",
"chars": 371,
"preview": "import { TestBed } from '@angular/core/testing';\n\nimport { AdminAuthGuard } from './admin-auth-guard.service';\n\ndescribe..."
},
{
"path": "src/app/admin/service/admin-auth-guard.service.ts",
"chars": 861,
"preview": "import { Injectable } from '@angular/core';\nimport { AngularFireAuthModule } from '@angular/fire/auth';\nimport { CanActi..."
},
{
"path": "src/app/app-routing.module.ts",
"chars": 245,
"preview": "import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes..."
},
{
"path": "src/app/app.component.html",
"chars": 425,
"preview": "<bs-navbar></bs-navbar>\n<main class=\"container-fluid pb-3\">\n <div class=\"container\">\n <router-outlet></router-outlet>..."
},
{
"path": "src/app/app.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/app.component.spec.ts",
"chars": 1063,
"preview": "import { TestBed } from '@angular/core/testing';\nimport { RouterTestingModule } from '@angular/router/testing';\nimport {..."
},
{
"path": "src/app/app.component.ts",
"chars": 980,
"preview": "import { Component } from '@angular/core';\nimport { AngularFirestore } from '@angular/fire/firestore';\nimport { Router }..."
},
{
"path": "src/app/app.module.ts",
"chars": 1337,
"preview": "import { NgModule } from '@angular/core';\nimport { AngularFireModule } from '@angular/fire';\nimport { BrowserModule } fr..."
},
{
"path": "src/app/core/bs-navbar/bs-navbar.component.html",
"chars": 2555,
"preview": "<header class=\"p-3 bg-dark text-white\">\n <div class=\"container\">\n <div\n class=\"d-flex flex-wrap align-items-cen..."
},
{
"path": "src/app/core/bs-navbar/bs-navbar.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/core/bs-navbar/bs-navbar.component.spec.ts",
"chars": 641,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { BsNavbarComponent } from './bs-navbar.compo..."
},
{
"path": "src/app/core/bs-navbar/bs-navbar.component.ts",
"chars": 2053,
"preview": "import { Component, OnInit } from '@angular/core';\nimport { AngularFireAuth } from '@angular/fire/auth';\nimport { Router..."
},
{
"path": "src/app/core/core.module.ts",
"chars": 584,
"preview": "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsNavbarComponent } f..."
},
{
"path": "src/app/core/home/home.component.html",
"chars": 19,
"preview": "<p>home works!</p>\n"
},
{
"path": "src/app/core/home/home.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/core/home/home.component.spec.ts",
"chars": 612,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { HomeComponent } from './home.component';\n\nd..."
},
{
"path": "src/app/core/home/home.component.ts",
"chars": 268,
"preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.componen..."
},
{
"path": "src/app/core/login/login.component.html",
"chars": 77,
"preview": "<button class=\"btn btn-primary\" (click)=\"login()\">Login with Google</button>\n"
},
{
"path": "src/app/core/login/login.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/core/login/login.component.spec.ts",
"chars": 619,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { LoginComponent } from './login.component';..."
},
{
"path": "src/app/core/login/login.component.ts",
"chars": 371,
"preview": "import { Component, OnInit } from '@angular/core';\nimport { AuthserviceService } from 'shared/service/authservice.servic..."
},
{
"path": "src/app/shared/component/products-card/products-card.component.html",
"chars": 666,
"preview": "<div class=\"card\" style=\"width: 18rem\" *ngIf=\"product\">\n <img [src]=\"product.imageUrl\" class=\"card-img-top\" />\n <div c..."
},
{
"path": "src/app/shared/component/products-card/products-card.component.scss",
"chars": 71,
"preview": ".card-footer{\n padding: 0;\n .btn{\n display: block;\n }\n}"
},
{
"path": "src/app/shared/component/products-card/products-card.component.spec.ts",
"chars": 669,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ProductsCardComponent } from './products-ca..."
},
{
"path": "src/app/shared/component/products-card/products-card.component.ts",
"chars": 868,
"preview": "import { Component, Input } from '@angular/core';\nimport { Product } from 'shared/model/product';\nimport { ShoppingCartS..."
},
{
"path": "src/app/shared/component/products-quantity/products-quantity.component.html",
"chars": 350,
"preview": "<div class=\"row no-gutters\">\n <div class=\"col-2\">\n <button class=\"btn btn-primary btn-bloc\" (click)=\"removeToCart()\"..."
},
{
"path": "src/app/shared/component/products-quantity/products-quantity.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/shared/component/products-quantity/products-quantity.component.spec.ts",
"chars": 697,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ProductsQuantityComponent } from './product..."
},
{
"path": "src/app/shared/component/products-quantity/products-quantity.component.ts",
"chars": 910,
"preview": "import { Component, Input } from '@angular/core';\nimport { Product } from 'shared/model/product';\nimport { ShoppingCartS..."
},
{
"path": "src/app/shared/model/app-user.ts",
"chars": 87,
"preview": "export interface AppUser{\n name: string;\n email: string;\n isAdmin: boolean;\n} "
},
{
"path": "src/app/shared/model/order.ts",
"chars": 253,
"preview": "export class Order {\n datePlaced: number;\n constructor(\n public userId: string,\n public shipping: any,\n publi..."
},
{
"path": "src/app/shared/model/product.ts",
"chars": 146,
"preview": "export interface Product {\n product_id: string;\n quantity?: number;\n title: string;\n price: number;\n category: stri..."
},
{
"path": "src/app/shared/service/auth-guard.service.spec.ts",
"chars": 345,
"preview": "import { TestBed } from '@angular/core/testing';\n\nimport { AuthGuard } from './auth-guard.service';\n\ndescribe('AuthGuard..."
},
{
"path": "src/app/shared/service/auth-guard.service.ts",
"chars": 685,
"preview": "import { Injectable } from '@angular/core';\nimport { CanActivate, Router, RouterStateSnapshot } from '@angular/router';..."
},
{
"path": "src/app/shared/service/authservice.service.spec.ts",
"chars": 382,
"preview": "import { TestBed } from '@angular/core/testing';\n\nimport { AuthserviceService } from './authservice.service';\n\ndescribe(..."
},
{
"path": "src/app/shared/service/authservice.service.ts",
"chars": 779,
"preview": "import { Injectable } from '@angular/core';\nimport { AngularFireAuth } from '@angular/fire/auth';\nimport { ActivatedRout..."
},
{
"path": "src/app/shared/service/categoryservice.service.spec.ts",
"chars": 374,
"preview": "import { TestBed } from '@angular/core/testing';\n\nimport { CategoryService } from './categoryservice.service';\n\ndescribe..."
},
{
"path": "src/app/shared/service/categoryservice.service.ts",
"chars": 301,
"preview": "import { Injectable } from '@angular/core';\nimport { AngularFirestore } from '@angular/fire/firestore';\n\n@Injectable({..."
},
{
"path": "src/app/shared/service/orders.service.spec.ts",
"chars": 357,
"preview": "import { TestBed } from '@angular/core/testing';\n\nimport { OrdersService } from './orders.service';\n\ndescribe('OrdersSer..."
},
{
"path": "src/app/shared/service/orders.service.ts",
"chars": 693,
"preview": "import { Injectable } from '@angular/core';\nimport { AngularFirestore } from '@angular/fire/firestore';\nimport { Shoppin..."
},
{
"path": "src/app/shared/service/product-service.service.spec.ts",
"chars": 398,
"preview": "import { TestBed } from '@angular/core/testing';\n\nimport { ProductServiceService } from './product-service.service';\n\nde..."
},
{
"path": "src/app/shared/service/product-service.service.ts",
"chars": 655,
"preview": "import { Injectable } from '@angular/core';\nimport { AngularFirestore } from '@angular/fire/firestore';\n\n@Injectable({..."
},
{
"path": "src/app/shared/service/shopping-cart.service.spec.ts",
"chars": 388,
"preview": "import { TestBed } from '@angular/core/testing';\n\nimport { ShoppingCartService } from './shopping-cart.service';\n\ndescri..."
},
{
"path": "src/app/shared/service/shopping-cart.service.ts",
"chars": 2403,
"preview": "import { Injectable } from '@angular/core';\nimport { AngularFirestore } from '@angular/fire/firestore';\nimport { Product..."
},
{
"path": "src/app/shared/service/user.service.spec.ts",
"chars": 347,
"preview": "import { TestBed } from '@angular/core/testing';\n\nimport { UserService } from './user.service';\n\ndescribe('UserService',..."
},
{
"path": "src/app/shared/service/user.service.ts",
"chars": 1076,
"preview": "import { query } from '@angular/animations';\nimport { Injectable } from '@angular/core';\nimport { AngularFirestore } fro..."
},
{
"path": "src/app/shared/shared.module.ts",
"chars": 1644,
"preview": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AngularFireAuthModule..."
},
{
"path": "src/app/shopping/components/check-out/check-out.component.html",
"chars": 282,
"preview": "<h3>Checkout Details</h3>\n<div class=\"row\">\n <div class=\"col-md-6\">\n <shopping-form [cart]='cart'></shopping-form>..."
},
{
"path": "src/app/shopping/components/check-out/check-out.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/shopping/components/check-out/check-out.component.spec.ts",
"chars": 641,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { CheckOutComponent } from './check-out.compo..."
},
{
"path": "src/app/shopping/components/check-out/check-out.component.ts",
"chars": 1081,
"preview": "import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ShoppingCart..."
},
{
"path": "src/app/shopping/components/my-orders/my-orders.component.html",
"chars": 532,
"preview": "<h3>Shopping Cart</h3>\n<ng-container *ngIf=\"order\">\n <table class=\"table\">\n <thead>\n <tr>\n <th>Sr No.</t..."
},
{
"path": "src/app/shopping/components/my-orders/my-orders.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/shopping/components/my-orders/my-orders.component.spec.ts",
"chars": 641,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { MyOrdersComponent } from './my-orders.compo..."
},
{
"path": "src/app/shopping/components/my-orders/my-orders.component.ts",
"chars": 506,
"preview": "import { Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { OrdersService } from 'sha..."
},
{
"path": "src/app/shopping/components/order-success/order-success.component.html",
"chars": 28,
"preview": "<p>order-success works!</p>\n"
},
{
"path": "src/app/shopping/components/order-success/order-success.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/shopping/components/order-success/order-success.component.spec.ts",
"chars": 669,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { OrderSuccessComponent } from './order-succe..."
},
{
"path": "src/app/shopping/components/order-success/order-success.component.ts",
"chars": 303,
"preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-order-success',\n templateUrl: './orde..."
},
{
"path": "src/app/shopping/components/products/products-filter/products-filter.component.html",
"chars": 468,
"preview": "<div class=\"sticky-top\">\n <div class=\"list-group\">\n <a\n routerLink=\"/\"\n class=\"list-group-item list-group-..."
},
{
"path": "src/app/shopping/components/products/products-filter/products-filter.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/shopping/components/products/products-filter/products-filter.component.spec.ts",
"chars": 683,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ProductsFilterComponent } from './products-..."
},
{
"path": "src/app/shopping/components/products/products-filter/products-filter.component.ts",
"chars": 642,
"preview": "import { Component, Input, OnInit } from '@angular/core';\nimport { CategoryService } from 'shared/service/categoryservic..."
},
{
"path": "src/app/shopping/components/products/products.component.html",
"chars": 453,
"preview": "<div class=\"row\">\n <div class=\"col-2\">\n <products-filter [category]=\"category\"></products-filter>\n </div>\n <div..."
},
{
"path": "src/app/shopping/components/products/products.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/shopping/components/products/products.component.spec.ts",
"chars": 640,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ProductsComponent } from './products.compon..."
},
{
"path": "src/app/shopping/components/products/products.component.ts",
"chars": 1444,
"preview": "import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {..."
},
{
"path": "src/app/shopping/components/shopping-cart/shopping-cart.component.html",
"chars": 1117,
"preview": "<h3>Shopping Cart</h3>\n<ng-container *ngIf=\"shoppingCartCount\">\n <p>\n You have {{ shoppingCartCount }} items in your..."
},
{
"path": "src/app/shopping/components/shopping-cart/shopping-cart.component.scss",
"chars": 50,
"preview": ".float-start{\n width: 80px;\n height: 80px;\n}"
},
{
"path": "src/app/shopping/components/shopping-cart/shopping-cart.component.spec.ts",
"chars": 669,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ShoppingCartComponent } from './shopping-ca..."
},
{
"path": "src/app/shopping/components/shopping-cart/shopping-cart.component.ts",
"chars": 1024,
"preview": "import { Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ShoppingCartService } fro..."
},
{
"path": "src/app/shopping/components/shopping-cart-summary/shopping-cart-summary.component.html",
"chars": 642,
"preview": "<div class=\"card\">\n <div class=\"card-body\">\n <h5 class=\"card-title\">Order Summary</h5>\n <p class=\"card-text\">..."
},
{
"path": "src/app/shopping/components/shopping-cart-summary/shopping-cart-summary.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/shopping/components/shopping-cart-summary/shopping-cart-summary.component.spec.ts",
"chars": 719,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ShoppingCartSummaryComponent } from './shop..."
},
{
"path": "src/app/shopping/components/shopping-cart-summary/shopping-cart-summary.component.ts",
"chars": 319,
"preview": "import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'shopping-cart-summary',\n templateU..."
},
{
"path": "src/app/shopping/components/shopping-form/shopping-form.component.html",
"chars": 2072,
"preview": "<form #addressValue=\"ngForm\" (ngSubmit)=\"placeOrder(addressValue.value)\">\n <div class=\"form-group\">\n <label for=\"nam..."
},
{
"path": "src/app/shopping/components/shopping-form/shopping-form.component.scss",
"chars": 0,
"preview": ""
},
{
"path": "src/app/shopping/components/shopping-form/shopping-form.component.spec.ts",
"chars": 669,
"preview": "import { ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ShoppingFormComponent } from './shopping-fo..."
},
{
"path": "src/app/shopping/components/shopping-form/shopping-form.component.ts",
"chars": 1248,
"preview": "import { Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subscriptio..."
},
{
"path": "src/app/shopping/shopping.module.ts",
"chars": 1880,
"preview": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '..."
},
{
"path": "src/assets/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "src/environments/environment.prod.ts",
"chars": 326,
"preview": "export const environment = {\n production: true,\n firebase: {\n apiKey: '****************',\n authDomain: '********..."
},
{
"path": "src/environments/environment.ts",
"chars": 937,
"preview": "// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environm..."
},
{
"path": "src/index.html",
"chars": 294,
"preview": "<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\">\n <title>AmitTest</title>\n <base href=\"/\">\n <meta nam..."
},
{
"path": "src/main.ts",
"chars": 372,
"preview": "import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynami..."
},
{
"path": "src/polyfills.ts",
"chars": 3059,
"preview": "/***************************************************************************************************\n * Load `$localize`..."
},
{
"path": "src/styles.scss",
"chars": 841,
"preview": "/* You can add global styles to this file, and also import other style files */\n@import \"~bootstrap/dist/css/bootstrap.c..."
},
{
"path": "src/test.ts",
"chars": 753,
"preview": "// This file is required by karma.conf.js and loads recursively all the .spec and framework files\n\nimport 'zone.js/dist/..."
},
{
"path": "tsconfig.app.json",
"chars": 287,
"preview": "/* To learn more about this file see: https://angular.io/config/tsconfig. */\n{\n \"extends\": \"./tsconfig.json\",\n \"compil..."
},
{
"path": "tsconfig.json",
"chars": 900,
"preview": "/* To learn more about this file see: https://angular.io/config/tsconfig. */\n{\n \"compileOnSave\": false,\n \"compilerOpti..."
},
{
"path": "tsconfig.spec.json",
"chars": 333,
"preview": "/* To learn more about this file see: https://angular.io/config/tsconfig. */\n{\n \"extends\": \"./tsconfig.json\",\n \"compil..."
},
{
"path": "tslint.json",
"chars": 3185,
"preview": "{\n \"extends\": \"tslint:recommended\",\n \"rulesDirectory\": [\n \"codelyzer\"\n ],\n \"rules\": {\n \"align\": {\n \"optio..."
},
{
"path": "y/index.html",
"chars": 4340,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initia..."
},
{
"path": "yes/index.html",
"chars": 4340,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initia..."
}
]
About this extraction
This page contains the full source code of the AmitAKB/shoppingcart GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 125 files (1.1 MB), approximately 350.9k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.