diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index de5fc53..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6c36004 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +db.sqlite3 +media/ +.hypothesis/ +db-data/ +data/ +docker-shared-fs/ diff --git a/.gitignore b/.gitignore index 20b62ad..4f06b48 100644 --- a/.gitignore +++ b/.gitignore @@ -95,3 +95,7 @@ ENV/ # Rope project settings .ropeproject + +/src/server/db.sqlite3 +/src/server/media +.DS_Store diff --git a/Dockerfile.api_runner b/Dockerfile.api_runner deleted file mode 100755 index d2b206e..0000000 --- a/Dockerfile.api_runner +++ /dev/null @@ -1,25 +0,0 @@ -FROM coreoasis/oasis_base:latest - -RUN mkdir /var/log/oasis -RUN mkdir -p /var/oasis/test/output - - -RUN useradd -ms /bin/bash api -RUN chown api /var/log/oasis -RUN chown api /var/oasis/test/output - -COPY ./tests/ /home/api/tests/ -COPY ./data/ /home/api/data/ -COPY ./src/ /home/api/src/ -COPY ./run_api_test_analysis.sh /home/api/ - -RUN chmod -R a+w /home/api/tests -RUN chmod -R a+w /home/api/data - -USER api -WORKDIR /home/api - -RUN mkdir upload -RUN mkdir download - -ENTRYPOINT tail -f /dev/null diff --git a/Dockerfile.api_server.base b/Dockerfile.api_server.base new file mode 100755 index 0000000..aa9d8ec --- /dev/null +++ b/Dockerfile.api_server.base @@ -0,0 +1,38 @@ +FROM python:3.6 + +WORKDIR /var/www/oasis + +ENV OASIS_MEDIA_ROOT=/shared-fs +ENV OASIS_DEBUG=false + +RUN mkdir -p /var/log/oasis + +RUN apt-get update && apt-get install -y --no-install-recommends unixodbc-dev && rm -rf /var/lib/apt/lists/* +COPY ./requirements.txt /tmp/ +RUN pip install -r /tmp/requirements.txt + +# Copy startup script + server config +COPY ./src/startup_server.sh /usr/local/bin/startup +COPY ./utils/wait-for-it.sh /usr/local/bin/wait-for-it +COPY ./src/utils/wait-for-server.sh /usr/local/bin/wait-for-server +RUN chmod +x /usr/local/bin/startup /usr/local/bin/wait-for-it + +COPY ./conf.ini ./ +COPY ./uwsgi ./uwsgi +RUN chmod +x ./uwsgi/run-uwsgi.sh +COPY manage.py . +COPY ./src/utils/set_default_user.py . + +COPY ./src/ ./src + +COPY ./src/server /var/www/oasis/src/server +COPY ./src/common /var/www/oasis/src/common +COPY ./src/conf /var/www/oasis/src/conf + +COPY ./model_resource.json /var/www/oasis/src/server/static/model_resource.json +RUN OASIS_API_SECRET_KEY=supersecret python manage.py collectstatic --noinput + +EXPOSE 8000 + +ENTRYPOINT ["startup"] +CMD ["./uwsgi/run-uwsgi.sh"] diff --git a/Dockerfile.api_server.mysql b/Dockerfile.api_server.mysql new file mode 100644 index 0000000..c78cd9d --- /dev/null +++ b/Dockerfile.api_server.mysql @@ -0,0 +1,5 @@ +FROM coreoasis/api_base:latest + +ENV OASIS_SERVER_DB_ENGINE django.db.backends.mysql +RUN apt-get update && apt-get install -y --no-install-recommends libmariadbclient-dev-compat && rm -rf /var/lib/apt/lists/* +RUN pip install mysqlclient diff --git a/Dockerfile.api_test_env b/Dockerfile.api_test_env deleted file mode 100755 index 9c1aac3..0000000 --- a/Dockerfile.api_test_env +++ /dev/null @@ -1,17 +0,0 @@ -FROM coreoasis/ktools:%RELEASE_TAG% - -RUN mkdir /var/log/oasis - -RUN useradd -ms /bin/bash api -RUN chown api /var/log/oasis - -COPY ./tests/ /home/api/tests/ -COPY ./src/common/ /home/api/src/common/ -COPY ./src/ /home/api/src/ -COPY ./ara_data/ /home/api/ara_data/ - -RUN chmod -R a+w /home/api/tests -RUN chmod -R a+w /home/api/ara_data - -USER api -WORKDIR /home/api diff --git a/Dockerfile.model_execution_worker b/Dockerfile.model_worker similarity index 73% rename from Dockerfile.model_execution_worker rename to Dockerfile.model_worker index 08ca07e..8b1120d 100755 --- a/Dockerfile.model_execution_worker +++ b/Dockerfile.model_worker @@ -1,20 +1,19 @@ -FROM coreoasis/oasis_base:latest +FROM python:3.6 + +ENV OASIS_MEDIA_ROOT=/shared-fs + +RUN apt-get update && apt-get install -y --no-install-recommends git libspatialindex-dev unixodbc-dev && rm -rf /var/lib/apt/lists/* RUN adduser --shell /bin/bash --disabled-password --gecos "" worker WORKDIR /home/worker -# Install requirments -COPY ./requirements.in /tmp/ -RUN pip install pip-tools -RUN pip-compile --output-file /tmp/requirements.txt /tmp/requirements.in +# Install requirements +COPY ./requirements.txt /tmp/ RUN pip install -r /tmp/requirements.txt -# Copy Static data -COPY ./data/static /var/oasis/model_data/OasisIM/1 -COPY ./data/static /var/oasis/model_data/OasisIM/2 - # Copy startup script + server config COPY ./src/startup_worker.sh ./startup.sh +COPY ./src/startup_tester.sh ./runtest COPY ./conf.ini ./ COPY ./src/__init__.py ./src/ diff --git a/Dockerfile.oasis_api_server b/Dockerfile.oasis_api_server deleted file mode 100755 index 2bc1aab..0000000 --- a/Dockerfile.oasis_api_server +++ /dev/null @@ -1,41 +0,0 @@ -FROM coreoasis/oasis_base:latest - -WORKDIR /var/www/oasis - -RUN mkdir -p /var/www/oasis/upload \ - /var/www/oasis/download \ - /var/log/oasis - -COPY ./requirements.in /tmp/ -RUN pip install pip-tools -RUN pip-compile --output-file /tmp/requirements.txt /tmp/requirements.in -RUN pip install -r /tmp/requirements.txt - -# Copy startup script + server config -COPY ./src/startup_server.sh ./startup.sh -COPY ./src/startup_server.sh /usr/local/bin/startup.sh -COPY ./conf.ini ./ - -COPY ./src/server_config/oasis.conf /etc/apache2/sites-available/oasis.conf -COPY ./src/server_config/oasis.wsgi /var/www/oasis/oasis.wsgi -COPY ./src/__init__.py /var/www/oasis/src/ - -COPY ./src/server /var/www/oasis/src/server -COPY ./src/common /var/www/oasis/src/common -COPY ./src/conf /var/www/oasis/src/conf -COPY ./utils/wait-for-it.sh /usr/local/bin - -RUN a2dissite 000-default -RUN a2ensite oasis.conf - -RUN touch /var/log/oasis/oasis_api_server.log && \ - chown -R www-data:www-data /var/log/oasis - -RUN chmod +x /usr/local/bin/startup.sh /usr/local/bin/wait-for-it.sh && \ -# ln -sf /dev/stdout /var/log/oasis/oasis_api_server.log && \ - chmod -R 777 /var/log/oasis /var/log/apache2 - -EXPOSE 80 - -ENTRYPOINT /var/www/oasis/startup.sh && \ - tail -f /var/log/oasis/oasis_api_server.log diff --git a/Dockerfile.server.alpine b/Dockerfile.server.alpine deleted file mode 100644 index 394376d..0000000 --- a/Dockerfile.server.alpine +++ /dev/null @@ -1,74 +0,0 @@ -# Set the base image -FROM alpine-ktools - -# Now the OASIAPI parts - -RUN apk add --no-cache bash git nginx uwsgi uwsgi-python -RUN apk --no-cache add py-pip - -RUN apk --no-cache add py-flask - -RUN apk --no-cache add mysql-client - -RUN apk --no-cache add py-mysqldb -RUN apk --no-cache add openrc - -RUN mkdir /var/www/oasis -RUN mkdir /var/www/oasis/server -RUN mkdir /var/www/oasis/common -RUN mkdir /var/www/oasis/upload -RUN mkdir /var/www/oasis/download -RUN mkdir /var/log/oasis - -# application folder -ENV APP_DIR /app - -# app dir -RUN mkdir ${APP_DIR} \ - && chown -R nginx:nginx ${APP_DIR} \ - && chmod 777 /run/ -R \ - && chmod 777 /root/ -R -VOLUME [${APP_DIR}] -WORKDIR ${APP_DIR} - -COPY ./src/server /var/www/oasis/server/ -COPY ./src/oasis_utils /var/www/oasis/oasis_utils/ -COPY ./src/common /var/www/oasis/common/ -COPY ./src/server/requirements.txt ./ - -COPY ./src/server/ngxstartup.sh /usr/local/bin -COPY ./utils/wait-for-it.sh /usr/local/bin -RUN chmod +x /usr/local/bin/ngxstartup.sh -RUN chmod +x /usr/local/bin/wait-for-it.sh - -RUN touch /var/log/oasis/oasis_api_server.log -RUN chmod a+w /var/log/oasis/oasis_api_server.log - -RUN pip install -r ./requirements.txt - -RUN apk --no-cache del py-mysqldb -RUN apk --no-cache add mysql-client - -RUN rm -rf /var/cache/apk/* -RUN rm -rf /var/cache/misc/* - -EXPOSE 80 - -# copy config files into filesystem -COPY ./ngx/nginx.conf /etc/nginx/nginx.conf -COPY ./ngx/app.ini /app.ini -# COPY ./ngx/entrypoint.sh /entrypoint.sh -COPY ./src/server_config/oasis.wsgi /app/app.py - - -ENTRYPOINT \ - sed -i -e "s/%RABBIT_PORT%/5671/" /var/www/oasis/common/CeleryConfig.py && \ - sed -i -e "s/%MYSQL_PORT%/3306/" /var/www/oasis/common/CeleryConfig.py && \ - ngxstartup.sh -# tail -f /var/log/oasis/oasis_api_server.log - - - -# ENTRYPOINT ["/entrypoint.sh"] -# Dockerfile author / maintainer -MAINTAINER Ben Matharu diff --git a/Dockerfile.test_env b/Dockerfile.test_env deleted file mode 100755 index 204b348..0000000 --- a/Dockerfile.test_env +++ /dev/null @@ -1,35 +0,0 @@ -FROM coreoasis/ktools:%RELEASE_TAG% - -COPY ./src/model_execution_worker/requirements.txt /tmp/ -RUN pip install -r /tmp/requirements.txt - -COPY ./src/server/requirements.txt /tmp/ -RUN pip install -r /tmp/requirements.txt - -COPY ./src/oasis_utils/requirements.txt /tmp/ -RUN pip install -r /tmp/requirements.txt - -RUN mkdir /var/log/oasis - -RUN useradd -ms /bin/bash oasis -RUN chown oasis /var/log/oasis - -COPY ./src/common /home/oasis/src/common/ -COPY ./src/model_execution/ /home/oasis/src/model_execution/ -COPY ./src/utils/ /home/oasis/src/utils/ -COPY ./src/oasis_utils/ /home/oasis/src/oasis_utils/ -COPY ./src/server/ /home/oasis/src/server/ -COPY ./data/ /home/oasis/data/ -COPY ./tests/ /home/oasis/tests/ -COPY ./run_test_analysis.sh /home/oasis/ - - -#RUN chmod -R a+w /home/oasis/data -#RUN chmod -R a+w /home/oasis/tests -RUN chmod -R a+w /home/oasis - -#USER oasis -#WORKDIR /home/oasis - -#RUN python /home/oasis/tests/KparseTests.py -#RUN python /home/oasis/tests/ExposureTests.py diff --git a/Oasis Simple Runner.png b/Oasis Simple Runner.png deleted file mode 100644 index 5bcdca4..0000000 Binary files a/Oasis Simple Runner.png and /dev/null differ diff --git a/OasisApiSwagger.json b/OasisApiSwagger.json deleted file mode 100755 index 81a3ec7..0000000 --- a/OasisApiSwagger.json +++ /dev/null @@ -1,387 +0,0 @@ -{ - "definitions": { - "AnalysisStatus": { - "properties": { - "id": { - "description": "The analysis ID.", - "type": "string" - }, - "message": { - "description": "The analysis status message.", - "type": "string" - }, - "outputs_summary_location": { - "description": "The location of the analysis outputs.", - "type": "string" - }, - "status": { - "description": "The analysis status.", - "type": "string" - } - } - }, - "ExposureSummary": { - "properties": { - "created_date": { - "description": "The date when the exposure data was uploaded.", - "format": "dateTime", - "type": "string" - }, - "location": { - "description": "The location of the exposure data.", - "type": "string" - }, - "size": { - "description": "The size of the uncompressed exposure data in bytes.", - "type": "integer" - } - } - } - }, - "info": { - "title": "Oasis API", - "version": "0.1" - }, - "paths": { - "/analysis": { - "post": { - "description": "", - "parameters": [ - { - "description": "The analysis settings", - "in": "formData", - "name": "analysis_settings", - "required": true, - "type": "file" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "The analysis_queue resource for the new analysis.", - "schema": { - "$ref": "#/definitions/AnalysisQueue" - } - } - }, - "summary": "Start an analysis" - } - }, - "/analysis_status": { - "delete": { - "description": "", - "parameters": [ - { - "description": "The location of the analysis status resource to delete.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK" - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Delete an analysis status resource" - } - }, - "/analysis_status/{location}": { - "delete": { - "description": "", - "parameters": [ - { - "description": "The location of the analysis status resource to delete.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK" - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Delete an analysis status resource" - }, - "get": { - "description": "", - "parameters": [ - { - "description": "The location of the outputs resource to download.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "A list of analysis status resources.", - "schema": { - "items": { - "$ref": "#/definitions/Analysisstatus" - }, - "type": "array" - } - }, - "404": { - "description": "Resource not found." - } - }, - "summary": "Get an analysis status resource" - } - }, - "/exposure": { - "delete": { - "description": "", - "parameters": [ - { - "description": "location of exposure resource to delete.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK" - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Delete an exposure resource" - }, - "post": { - "description": "", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "The exposure summary of the created exposure resource.", - "schema": { - "$ref": "#/definitions/ExposureSummary" - } - } - }, - "summary": "Upload an exposure resource" - } - }, - "/exposure/{location}": { - "delete": { - "description": "", - "parameters": [ - { - "description": "location of exposure resource to delete.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK" - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Delete an exposure resource" - }, - "get": { - "description": "", - "parameters": [ - { - "description": "The location of the exposure resource.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "A compressed tar file containing the Oasis exposure files." - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Get an exposure resource" - } - }, - "/exposure_summary": { - "get": { - "description": "", - "parameters": [ - { - "description": "The location of the exposure resource to summarise.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "A list of exposure summaries.", - "schema": { - "items": { - "$ref": "#/definitions/ExposureSummary" - }, - "type": "array" - } - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Get exposure summary" - } - }, - "/exposure_summary/{location}": { - "get": { - "description": "", - "parameters": [ - { - "description": "The location of the exposure resource to summarise.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "A list of exposure summaries.", - "schema": { - "items": { - "$ref": "#/definitions/ExposureSummary" - }, - "type": "array" - } - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Get exposure summary" - } - }, - "/outputs": { - "delete": { - "description": "", - "parameters": [ - { - "description": "The location of the outputs resource to delete.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK" - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Delete a outputs resource" - } - }, - "/outputs/{location}": { - "delete": { - "description": "", - "parameters": [ - { - "description": "The location of the outputs resource to delete.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK" - }, - "404": { - "description": "Resource not found" - } - }, - "summary": "Delete a outputs resource" - }, - "get": { - "description": "", - "parameters": [ - { - "description": "The location of the outputs resource to download.", - "in": "path", - "name": "location", - "required": true, - "type": "string" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "A compressed tar of the outputs generated by an analysis." - }, - "404": { - "description": "Resource not found." - } - }, - "summary": "Get a outputs resource" - } - } - }, - "swagger": "2.0" -} \ No newline at end of file diff --git a/README.md b/README.md index 8df9819..5d2ed05 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ # Oasis Platform Provides core components of the Oasis platform, specifically: -* Flask application that provides the Oasis REST API +* DJango application that provides the Oasis REST API * Celery worker for running a model ## First Steps @@ -17,11 +17,15 @@ A simple environment for the testing the API and worker can be created using Doc Simple Oasis platform test environment -First make sure that you have Docker running. Then build the images for the API server, model execution worker and API runner: +First make sure that you have Docker running. Then build the images for the API server and model execution worker: - docker build -f Dockerfile.oasis_api_server -t oasis_api_server . - docker build -f Dockerfile.model_execution_worker -t model_execution_worker . - docker build -f Dockerfile.api_runner -t api_runner . + docker build -f Dockerfile.oasis_api_server.base -t coreoasis/oasis_api_base . + docker build -f Dockerfile.oasis_api_server.mysql -t coreoasis/oasis_api_server . + docker build -f Dockerfile.model_execution_worker -t coreoasis/model_execution_worker . + +The docker images for the server are structured to all inherit from `oasis_api_server:base`. +Then each child image will be setup for a specific database backend (for example +`oasis_api_server:mysql` uses mysql as the database backend). Start the docker network: @@ -29,7 +33,7 @@ Start the docker network: Check that the server is running: - curl localhost:8001/healthcheck + curl localhost:8000/healthcheck (For the Rabbit management application browse to http://localhost:15672, for Flower, the Celery management application, browse to http://localhost:5555.) @@ -39,7 +43,10 @@ To run a test analysis using the worker image and example model data, run the fo ### Calling the Server -The API server provides a REST interface which is described here. You can use any suitable command line client such as `curl` or `httpie` to make individual API calls, but a custom Python client may be a better option - for this you can use the `api_client` repository withing the oasislmf Python package. +The API server provides a REST interface which is described on the home page of the api server at +http://localhost:8000/. This documentation +also provides an interactable interface to the api or you can use any command line client such as +curl. ## Development @@ -70,6 +77,32 @@ Version specifiers can be supplied to the packages but these should be kept as l After adding packages to either ``*.in`` file, the following command should be ran ensuring the development dependencies are kept up to date: pip-compile && pip-sync + +The demo project also needs the PiWind model. This is available [here](https://github.com/OasisLMF/OasisPiWind). +You should also set `OASIS_MODEL_DATA_DIR` to the root directory of the pi wind repo. + +### Setup + +Once the dependencies have been installed you will need to create the database. For development we use mysql for +simplicity. To create the database run: + + python manage.py migrate + +This should also be ran whenever there are new database changes. If you change the database fields you +will need to generate new migrations by running: + + python manage.py makemigrations + +And adding all generated files to git. + +Once the database has been migrated the pi wind model needs to be added to the database, either in the +admin interface or the api setting: + + { + supplier_id: "OasisIM", + model_id: "PiWind", + version_id: "1", + } ### Testing @@ -98,6 +131,37 @@ The Oasis CI system builds and deploys the following Docker images to DockerHub: Note that the Dockerfiles cannot be used directly as there are version stubs that get substitued at build time by the CI system. +## Authentication + +By default the server uses the standard model backend, this started users with username and password in +the database. This can be configured by setting `OASIS_API_SERVER_AUTH_BACKEND` to a comma separated +list of python paths. Information about django authentication backends can be found [here](https://docs.djangoproject.com/en/2.0/topics/auth/customizing/#writing-an-authentication-backend) + +To create an admin user call `python manage.py createsuperuser` and follow the prompts, this user +can be used as a normal user on in the api but it also gains access to the admin interface at +http://localhost:8000/admin/. From here you can edit entries and create new users. + +For authenticating with the api the `HTTP-AUTHORIZATION` header needs to be set. The token to use can +be obtained by posting your username and password to `/refresh_token/`. This gives you both a refresh +token and access token. The access token should be used for most requests however this will expire after +a while. When it expires a new key can be retrieved by posting to `/access_token/` using the refresh +token in the authorization header. + +The authorization header takes the following form `Bearer `. + +## Workflow + +The general workflow is as follows + +1. Create a portfolio (post to `/portfolios/`). +2. Add a locations file to the portfolio (post to `/portfolios//locations_file/`) +3. Create the model object for your model (post to `/models/`). +4. Create an analysis (post to `/portfolios//create_analysis`). This will generate the input files + for the analysis. +5. Add analysis settings file to the analysis (post to `/analyses//analysis_settings/`). +6. Run the analysis (post to `/analyses//run/`) +7. Get the outputs (get `/analuses//output_file/`) + ## Documentation * Issues * Releases diff --git a/Swagger Docs.html b/Swagger Docs.html deleted file mode 100755 index c1f4cea..0000000 --- a/Swagger Docs.html +++ /dev/null @@ -1,2827 +0,0 @@ - - - - - Swagger Editor - - - - - - - - -
- - - - - - - -
-
- - - - All changes saved -
- -
-
-
-
- -
-
-
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
"version": "0.1"
},
"paths": {
"/analysis": {
"post": {
"description": "",
"parameters": [
{
"description": "The analysis settings",
"in": "formData",
"name": "analysis_settings",
"required": true,
"type": "file"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "The analysis status resource for the new analysis.",
"schema": {
"$ref": "#/definitions/AnalysisStatus"
}
}
},
"summary": "Start an analysis"
}
},
"/analysis_status": {
"delete": {
"description": "",
"parameters": [
{
"description": "The location of the analysis status resource to delete.",
"in": "path",
"name": "location",
"required": true,
"type": "string"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "OK"
},
"404": {
"description": "Resource not found"
}
},
"summary": "Delete an analysis status resource"
}
},
"/analysis_status/{location}": {
"delete": {
"description": "",
"parameters": [
{
"description": "The location of the analysis status resource to delete.",
"in": "path",
"name": "location",
"required": true,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
-
-
-
- - -
- -
-

- - - Errors - -

- Open -
- -
-
- -
- - Swagger Error -
- -

Path parameter is defined but is not declared: location

- - Jump to line 75 - - -
-
Details
- -
-
- -
- - Swagger Error -
- -

Path parameter is defined but is not declared: location

- - Jump to line 157 - - -
-
Details
- -
-
- -
- - Swagger Error -
- -

Path parameter is defined but is not declared: location

- - Jump to line 248 - - -
-
Details
- -
-
- -
- - Swagger Error -
- -

Path parameter is defined but is not declared: location

- - Jump to line 312 - - -
-
Details
- -
-
-
-
-
- -
-
-

- Oasis API -

-
- -
-
-

Version 0.1

- - - - -
-
-
- - - -
- - -
-
- -
-

- - - Paths - - - - List all operations - -

-
- -
    -
  • - -

    - /analysis -

    - - - -
    - -
      -
    • - -
      - - - -
      POST /analysis -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Start an analysis

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - analysis_settings - - formData

      The analysis settings

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - file -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - -
      CodeDescriptionSchema
      - - - - 200 - - -

      The analysis status resource for the new analysis.

      -
      - - - - - - -
      - - - ⇄ - -
      - AnalysisStatus { -
      - -
      - id: -
      - message: -
      - outputs_summary_location: -
      - status: -
      - } -
      -
      -
      -
      - - - -
      - - - - - - -
      -
    • -
    - -
  • - -

    - /analysis_status -

    - - - -
    - -
      -
    • - -
      - - - -
      DELETE /analysis_status -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Delete an analysis status resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      The location of the analysis status resource to delete.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescription
      - - - - 200 - - -

      OK

      -
      - - - - 404 - - -

      Resource not found

      -
      -
      -
      - - - -
      - - - - - - -
      -
    • -
    - -
  • - -

    - /analysis_status/{location} -

    - - - -
    - -
      -
    • - -
      - - - -
      DELETE /analysis_status/{location} -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Delete an analysis status resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      The location of the analysis status resource to delete.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescription
      - - - - 200 - - -

      OK

      -
      - - - - 404 - - -

      Resource not found

      -
      -
      -
      - - - -
      - - - - - - -
      -
    • - -
      - - - -
      GET /analysis_status/{location} -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Get an analysis status resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      The location of the outputs resource to download.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescriptionSchema
      - - - - 200 - - -

      A list of analysis status resources.

      -
      - - - - - - -
      - - - ⇄ - -
      - [ - - ] -
      -
      - - - - 404 - - -

      Resource not found.

      -
      - -
      -
      -
      - - - -
      - - - - - - -
      -
    • -
    - -
  • - -

    - /exposure -

    - - - -
    - -
      -
    • - -
      - - - -
      DELETE /exposure -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Delete an exposure resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      location of exposure resource to delete.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescription
      - - - - 200 - - -

      OK

      -
      - - - - 404 - - -

      Resource not found

      -
      -
      -
      - - - -
      - - - - - - -
      -
    • - -
      - - - -
      POST /exposure -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Upload an exposure resource

      -
      - - - - - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - -
      CodeDescriptionSchema
      - - - - 200 - - -

      The exposure summary of the created exposure resource.

      -
      - - - - - - -
      - - - ⇄ - -
      - ExposureSummary { -
      - -
      - created_date: -
      - location: -
      - size: -
      - } -
      -
      -
      -
      - - - -
      - - - - - - -
      -
    • -
    - -
  • - -

    - /exposure/{location} -

    - - - -
    - -
      -
    • - -
      - - - -
      DELETE /exposure/{location} -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Delete an exposure resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      location of exposure resource to delete.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescription
      - - - - 200 - - -

      OK

      -
      - - - - 404 - - -

      Resource not found

      -
      -
      -
      - - - -
      - - - - - - -
      -
    • - -
      - - - -
      GET /exposure/{location} -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Get an exposure resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      The location of the exposure resource.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescription
      - - - - 200 - - -

      A compressed tar file containing the Oasis exposure files.

      -
      - - - - 404 - - -

      Resource not found

      -
      -
      -
      - - - -
      - - - - - - -
      -
    • -
    - -
  • - -

    - /exposure_summary -

    - - - -
    - - - -
  • - -

    - /exposure_summary/{location} -

    - - - -
    - - - -
  • - -

    - /outputs -

    - - - -
    - -
      -
    • - -
      - - - -
      DELETE /outputs -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Delete a outputs resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      The location of the outputs resource to delete.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescription
      - - - - 200 - - -

      OK

      -
      - - - - 404 - - -

      Resource not found

      -
      -
      -
      - - - -
      - - - - - - -
      -
    • -
    - -
  • - -

    - /outputs/{location} -

    - - - -
    - -
      -
    • - -
      - - - -
      DELETE /outputs/{location} -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Delete a outputs resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      The location of the outputs resource to delete.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescription
      - - - - 200 - - -

      OK

      -
      - - - - 404 - - -

      Resource not found

      -
      -
      -
      - - - -
      - - - - - - -
      -
    • - -
      - - - -
      GET /outputs/{location} -
      - - -
      - -
      -
      - -
      - -
      -

      Summary

      -

      Get a outputs resource

      -
      - - - -
      -

      Parameters

      -
      - - - - - - - - - - - - - - - - - - - -
      NameLocated inDescriptionRequiredSchema
      - - location - - path

      The location of the outputs resource to download.

      -
      Yes - - - - - - -
      - - - ⇄ - -
      - string -
      -
      -
      -
      - -
      -

      Responses

      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      CodeDescription
      - - - - 200 - - -

      A compressed tar of the outputs generated by an analysis.

      -
      - - - - 404 - - -

      Resource not found.

      -
      -
      -
      - - - -
      - - - - - - -
      -
    • -
    - -
  • -
- -
-

- Models - - List all models - -

-
- - -
-
-
-
- -
-
-

Drop your file here

-
-
-
-
- - - - - \ No newline at end of file diff --git a/Swagger Docs_files/analytics.js b/Swagger Docs_files/analytics.js deleted file mode 100755 index 98898de..0000000 --- a/Swagger Docs_files/analytics.js +++ /dev/null @@ -1,44 +0,0 @@ -(function(){var $c=function(a){this.w=a||[]};$c.prototype.set=function(a){this.w[a]=!0};$c.prototype.encode=function(){for(var a=[],b=0;b\x3c/script>')):(c=M.createElement("script"),c.type="text/javascript",c.async=!0,c.src=a,b&&(c.id=b),a=M.getElementsByTagName("script")[0],a.parentNode.insertBefore(c,a)))},Ud=function(){return"https:"==M.location.protocol},xa=function(){var a= -""+M.location.hostname;return 0==a.indexOf("www.")?a.substring(4):a},ya=function(a){var b=M.referrer;if(/^https?:\/\//i.test(b)){if(a)return b;a="//"+M.location.hostname;var c=b.indexOf(a);if(5==c||6==c)if(a=b.charAt(c+a.length),"/"==a||"?"==a||""==a||":"==a)return;return b}},za=function(a,b){if(1==b.length&&null!=b[0]&&"object"===typeof b[0])return b[0];for(var c={},d=Math.min(a.length+1,b.length),e=0;e=b.length)wc(a,b,c);else if(8192>=b.length)x(a,b,c)||wd(a,b,c)||wc(a,b,c);else throw ge("len",b.length),new Da(b.length);},wc=function(a,b,c){var d=ta(a+"?"+b);d.onload=d.onerror=function(){d.onload=null;d.onerror=null;c()}},wd=function(a,b,c){var d=O.XMLHttpRequest;if(!d)return!1;var e=new d;if(!("withCredentials"in e))return!1; -e.open("POST",a,!0);e.withCredentials=!0;e.setRequestHeader("Content-Type","text/plain");e.onreadystatechange=function(){4==e.readyState&&(c(),e=null)};e.send(b);return!0},x=function(a,b,c){return O.navigator.sendBeacon?O.navigator.sendBeacon(a,b)?(c(),!0):!1:!1},ge=function(a,b,c){1<=100*Math.random()||Aa("?")||(a=["t=error","_e="+a,"_v=j43","sr=1"],b&&a.push("_f="+b),c&&a.push("_m="+K(c.substring(0,100))),a.push("aip=1"),a.push("z="+hd()),wc(oc()+"/collect",a.join("&"),ua))};var h=function(a){var b=O.gaData=O.gaData||{};return b[a]=b[a]||{}};var Ha=function(){this.M=[]};Ha.prototype.add=function(a){this.M.push(a)};Ha.prototype.D=function(a){try{for(var b=0;b=100*R(a,Ka))throw"abort";}function Ma(a){if(Aa(P(a,Na)))throw"abort";}function Oa(){var a=M.location.protocol;if("http:"!=a&&"https:"!=a)throw"abort";} -function Pa(a){try{O.navigator.sendBeacon?J(42):O.XMLHttpRequest&&"withCredentials"in new O.XMLHttpRequest&&J(40)}catch(c){}a.set(ld,Td(a),!0);a.set(Ac,R(a,Ac)+1);var b=[];Qa.map(function(c,d){if(d.F){var e=a.get(c);void 0!=e&&e!=d.defaultValue&&("boolean"==typeof e&&(e*=1),b.push(d.F+"="+K(""+e)))}});b.push("z="+Bd());a.set(Ra,b.join("&"),!0)} -function Sa(a){var b=P(a,gd)||oc()+"/collect",c=P(a,fa);!c&&a.get(Vd)&&(c="beacon");if(c){var d=P(a,Ra),e=a.get(Ia),e=e||ua;"image"==c?wc(b,d,e):"xhr"==c&&wd(b,d,e)||"beacon"==c&&x(b,d,e)||ba(b,d,e)}else ba(b,P(a,Ra),a.get(Ia));b=a.get(Na);b=h(b);c=b.hitcount;b.hitcount=c?c+1:1;b=a.get(Na);delete h(b).pending_experiments;a.set(Ia,ua,!0)} -function Hc(a){(O.gaData=O.gaData||{}).expId&&a.set(Nc,(O.gaData=O.gaData||{}).expId);(O.gaData=O.gaData||{}).expVar&&a.set(Oc,(O.gaData=O.gaData||{}).expVar);var b;var c=a.get(Na);if(c=h(c).pending_experiments){var d=[];for(b in c)c.hasOwnProperty(b)&&c[b]&&d.push(encodeURIComponent(b)+"."+encodeURIComponent(c[b]));b=d.join("!")}else b=void 0;b&&a.set(m,b,!0)}function cd(){if(O.navigator&&"preview"==O.navigator.loadPurpose)throw"abort";} -function yd(a){var b=O.gaDevIds;ka(b)&&0!=b.length&&a.set("&did",b.join(","),!0)}function vb(a){if(!a.get(Na))throw"abort";};var hd=function(){return Math.round(2147483647*Math.random())},Bd=function(){try{var a=new Uint32Array(1);O.crypto.getRandomValues(a);return a[0]&2147483647}catch(b){return hd()}};function Ta(a){var b=R(a,Ua);500<=b&&J(15);var c=P(a,Va);if("transaction"!=c&&"item"!=c){var c=R(a,Wa),d=(new Date).getTime(),e=R(a,Xa);0==e&&a.set(Xa,d);e=Math.round(2*(d-e)/1E3);0=c)throw"abort";a.set(Wa,--c)}a.set(Ua,++b)};var Ya=function(){this.data=new ee},Qa=new ee,Za=[];Ya.prototype.get=function(a){var b=$a(a),c=this.data.get(a);b&&void 0==c&&(c=ea(b.defaultValue)?b.defaultValue():b.defaultValue);return b&&b.Z?b.Z(this,a,c):c};var P=function(a,b){var c=a.get(b);return void 0==c?"":""+c},R=function(a,b){var c=a.get(b);return void 0==c||""===c?0:1*c};Ya.prototype.set=function(a,b,c){if(a)if("object"==typeof a)for(var d in a)a.hasOwnProperty(d)&&ab(this,d,a[d],c);else ab(this,a,b,c)}; -var ab=function(a,b,c,d){if(void 0!=c)switch(b){case Na:wb.test(c)}var e=$a(b);e&&e.o?e.o(a,b,c,d):a.data.set(b,c,d)},bb=function(a,b,c,d,e){this.name=a;this.F=b;this.Z=d;this.o=e;this.defaultValue=c},$a=function(a){var b=Qa.get(a);if(!b)for(var c=0;c=c)&&(c={},Ec(c)||Fc(c))){var d=c[Eb];void 0==d||Infinity==d||isNaN(d)||(0c)a[b]=void 0},Fd=function(a){return function(b){"pageview"!=b.get(Va)||a.I||(a.I=!0,gc(b,function(b){a.send("timing",b)}))}};var hc=!1,mc=function(a){if("cookie"==P(a,ac)){var b=P(a,U),c=nd(a),d=kc(P(a,Yb)),e=lc(P(a,W)),g=1E3*R(a,Zb),ca=P(a,Na);if("auto"!=e)zc(b,c,d,e,ca,g)&&(hc=!0);else{J(32);var l;a:{c=[];e=xa().split(".");if(4==e.length&&(l=e[e.length-1],parseInt(l,10)==l)){l=["none"];break a}for(l=e.length-2;0<=l;l--)c.push(e.slice(l).join("."));c.push("none");l=c}for(var k=0;k=a&&d.push({hash:ca[0],R:e[g],O:ca})}return 0==d.length?void 0:1==d.length?d[0]:Zc(b,d)||Zc(c,d)||Zc(null,d)||d[0]}function Zc(a,b){var c,d;null==a?c=d=1:(c=La(a),d=La(D(a,".")?a.substring(1):"."+a));for(var e=0;ed.length)){c=[];for(var e=0;e=ca[0]||0>=ca[1]?"":ca.join("x"); -a.set(rb,c);a.set(tb,fc());a.set(ob,M.characterSet||M.charset);a.set(sb,b&&"function"===typeof b.javaEnabled&&b.javaEnabled()||!1);a.set(nb,(b&&(b.language||b.browserLanguage)||"").toLowerCase());if(d&&a.get(cc)&&(b=M.location.hash)){b=b.split(/[?&#]+/);d=[];for(c=0;carguments.length)){var b,c;"string"===typeof arguments[0]?(b=arguments[0],c=[].slice.call(arguments,1)):(b=arguments[0]&&arguments[0][Va],c=arguments);b&&(c=za(qc[b]||[],c),c[Va]=b,this.b.set(c,void 0,!0),this.filters.D(this.b),this.b.data.m={})}}; -pc.prototype.ma=function(a,b){var c=this;u(a,c,b)||(v(a,function(){u(a,c,b)}),y(String(c.get(V)),a,void 0,b,!0))};var rc=function(a){if("prerender"==M.visibilityState)return!1;a();return!0},z=function(a){if(!rc(a)){J(16);var b=!1,c=function(){if(!b&&rc(a)){b=!0;var d=c,e=M;e.removeEventListener?e.removeEventListener("visibilitychange",d,!1):e.detachEvent&&e.detachEvent("onvisibilitychange",d)}};L(M,"visibilitychange",c)}};var td=/^(?:(\w+)\.)?(?:(\w+):)?(\w+)$/,sc=function(a){if(ea(a[0]))this.u=a[0];else{var b=td.exec(a[0]);null!=b&&4==b.length&&(this.c=b[1]||"t0",this.K=b[2]||"",this.C=b[3],this.a=[].slice.call(a,1),this.K||(this.A="create"==this.C,this.i="require"==this.C,this.g="provide"==this.C,this.ba="remove"==this.C),this.i&&(3<=this.a.length?(this.X=this.a[1],this.W=this.a[2]):this.a[1]&&(qa(this.a[1])?this.X=this.a[1]:this.W=this.a[1])));b=a[1];a=a[2];if(!this.C)throw"abort";if(this.i&&(!qa(b)||""==b))throw"abort"; -if(this.g&&(!qa(b)||""==b||!ea(a)))throw"abort";if(ud(this.c)||ud(this.K))throw"abort";if(this.g&&"t0"!=this.c)throw"abort";}};function ud(a){return 0<=a.indexOf(".")||0<=a.indexOf(":")};var Yd,Zd,$d,A;Yd=new ee;$d=new ee;A=new ee;Zd={ec:45,ecommerce:46,linkid:47}; -var u=function(a,b,c){b==N||b.get(V);var d=Yd.get(a);if(!ea(d))return!1;b.plugins_=b.plugins_||new ee;if(b.plugins_.get(a))return!0;b.plugins_.set(a,new d(b,c||{}));return!0},y=function(a,b,c,d,e){if(!ea(Yd.get(b))&&!$d.get(b)){Zd.hasOwnProperty(b)&&J(Zd[b]);if(p.test(b)){J(52);a=N.j(a);if(!a)return!0;c=d||{};d={id:b,B:c.dataLayer||"dataLayer",ia:!!a.get("anonymizeIp"),na:e,G:!1};a.get(">m")==b&&(d.G=!0);var g=String(a.get("name"));"t0"!=g&&(d.target=g);Aa(String(a.get("trackingId")))||(d.ja=String(a.get(Q)), -d.ka=Number(a.get(n)),a=c.palindrome?r:q,a=(a=M.cookie.replace(/^|(; +)/g,";").match(a))?a.sort().join("").substring(1):void 0,d.la=a);a=d.B;c=(new Date).getTime();O[a]=O[a]||[];c={"gtm.start":c};e||(c.event="gtm.js");O[a].push(c);c=t(d)}!c&&Zd.hasOwnProperty(b)?(J(39),c=b+".js"):J(43);c&&(c&&0<=c.indexOf("/")||(c=(Ba||Ud()?"https:":"http:")+"//www.google-analytics.com/plugins/ua/"+c),d=ae(c),a=d.protocol,c=M.location.protocol,("https:"==a||a==c||("http:"!=a?0:"http:"==c))&&B(d)&&(wa(d.url,void 0, -e),$d.set(b,!0)))}},v=function(a,b){var c=A.get(a)||[];c.push(b);A.set(a,c)},C=function(a,b){Yd.set(a,b);for(var c=A.get(a)||[],d=0;da.split("/")[0].indexOf(":")&&(a=ca+e[2].substring(0,e[2].lastIndexOf("/"))+"/"+ -a);c.href=a;d=b(c);return{protocol:(c.protocol||"").toLowerCase(),host:d[0],port:d[1],path:d[2],query:c.search||"",url:a||""}};var Z={ga:function(){Z.f=[]}};Z.ga();Z.D=function(a){var b=Z.J.apply(Z,arguments),b=Z.f.concat(b);for(Z.f=[];0c;c++){var d=b[c].src;if(d&&0==d.indexOf("https://www.google-analytics.com/analytics")){J(33); -b=!0;break a}}b=!1}b&&(Ba=!0)}Ud()||Ba||!Ed()||(J(36),Ba=!0);(O.gaplugins=O.gaplugins||{}).Linker=Dc;b=Dc.prototype;C("linker",Dc);X("decorate",b,b.ca,20);X("autoLink",b,b.S,25);C("displayfeatures",fd);C("adfeatures",fd);a=a&&a.q;ka(a)?Z.D.apply(N,a):J(50)}};N.da=function(){for(var a=N.getAll(),b=0;b>21:b;return b};})(window); diff --git a/Swagger Docs_files/branding.css b/Swagger Docs_files/branding.css deleted file mode 100755 index 41664aa..0000000 --- a/Swagger Docs_files/branding.css +++ /dev/null @@ -1,5 +0,0 @@ -/* - * Branding CSS file. This file is intentially left blank. If you want to - * customize Swagger Editor you can serve this file with your CSS that overrides - * or extends Swagger Editor styling. -*/ diff --git a/Swagger Docs_files/branding.js b/Swagger Docs_files/branding.js deleted file mode 100755 index 6675a54..0000000 --- a/Swagger Docs_files/branding.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * branding.js can be used for overloading Swagger Editor behaviors - * You can add new controllers to Swagger Editor with following syntax: - * - * SwaggerEditor.controller('BrandingController', function($scope) { ... }); - * - * You can use the controller you created in branding HTML pieces. -*/ diff --git a/Swagger Docs_files/bundle.js b/Swagger Docs_files/bundle.js deleted file mode 100755 index 0156cdf..0000000 --- a/Swagger Docs_files/bundle.js +++ /dev/null @@ -1,163 +0,0 @@ -!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="/dist/",t(0)}([function(e,t,n){e.exports=n(110)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n(111).polyfill(),n(116),n(117),n(128),n(253)},function(e,t,n){var r;(function(e,i,o){/*! - * @overview es6-promise - a tiny implementation of Promises/A+. - * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) - * @license Licensed under MIT license - * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE - * @version 3.1.2 - */ -(function(){"use strict";function a(e){return"function"==typeof e||"object"==typeof e&&null!==e}function s(e){return"function"==typeof e}function c(e){K=e}function l(e){Q=e}function u(){return function(){e.nextTick(g)}}function h(){return function(){q(g)}}function d(){var e=0,t=new ee(g),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}function p(){var e=new MessageChannel;return e.port1.onmessage=g,function(){e.port2.postMessage(0)}}function f(){return function(){setTimeout(g,1)}}function g(){for(var e=0;J>e;e+=2){var t=re[e],n=re[e+1];t(n),re[e]=void 0,re[e+1]=void 0}J=0}function m(){try{var e=n(114);return q=e.runOnLoop||e.runOnContext,h()}catch(t){return f()}}function v(e,t){var n=this,r=n._state;if(r===se&&!e||r===ce&&!t)return this;var i=new this.constructor(y),o=n._result;if(r){var a=arguments[r-1];Q(function(){L(r,i,a,o)})}else B(n,i,e,t);return i}function b(e){var t=this;if(e&&"object"==typeof e&&e.constructor===t)return e;var n=new t(y);return F(n,e),n}function y(){}function w(){return new TypeError("You cannot resolve a promise with itself")}function _(){return new TypeError("A promises callback cannot return that same promise.")}function A(e){try{return e.then}catch(t){return le.error=t,le}}function C(e,t,n,r){try{e.call(t,n,r)}catch(i){return i}}function k(e,t,n){Q(function(e){var r=!1,i=C(n,t,function(n){r||(r=!0,t!==n?F(e,n):S(e,n))},function(t){r||(r=!0,D(e,t))},"Settle: "+(e._label||" unknown promise"));!r&&i&&(r=!0,D(e,i))},e)}function x(e,t){t._state===se?S(e,t._result):t._state===ce?D(e,t._result):B(t,void 0,function(t){F(e,t)},function(t){D(e,t)})}function E(e,t,n){t.constructor===e.constructor&&n===ie&&constructor.resolve===oe?x(e,t):n===le?D(e,le.error):void 0===n?S(e,t):s(n)?k(e,t,n):S(e,t)}function F(e,t){e===t?D(e,w()):a(t)?E(e,t,A(t)):S(e,t)}function $(e){e._onerror&&e._onerror(e._result),T(e)}function S(e,t){e._state===ae&&(e._result=t,e._state=se,0!==e._subscribers.length&&Q(T,e))}function D(e,t){e._state===ae&&(e._state=ce,e._result=t,Q($,e))}function B(e,t,n,r){var i=e._subscribers,o=i.length;e._onerror=null,i[o]=t,i[o+se]=n,i[o+ce]=r,0===o&&e._state&&Q(T,e)}function T(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var r,i,o=e._result,a=0;aa;a++)B(r.resolve(e[a]),void 0,t,n);return i}function P(e){var t=this,n=new t(y);return D(n,e),n}function N(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function z(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function U(e){this._id=fe++,this._state=void 0,this._result=void 0,this._subscribers=[],y!==e&&("function"!=typeof e&&N(),this instanceof U?R(this,e):z())}function H(e,t){this._instanceConstructor=e,this.promise=new e(y),Array.isArray(t)?(this._input=t,this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?S(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&S(this.promise,this._result))):D(this.promise,this._validationError())}function V(){var e;if("undefined"!=typeof i)e=i;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=e.Promise;n&&"[object Promise]"===Object.prototype.toString.call(n.resolve())&&!n.cast||(e.Promise=ge)}var W;W=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var q,K,G,Y=W,J=0,Q=function(e,t){re[J]=e,re[J+1]=t,J+=2,2===J&&(K?K(g):G())},Z="undefined"!=typeof window?window:void 0,X=Z||{},ee=X.MutationObserver||X.WebKitMutationObserver,te="undefined"!=typeof e&&"[object process]"==={}.toString.call(e),ne="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,re=new Array(1e3);G=te?u():ee?d():ne?p():void 0===Z?m():f();var ie=v,oe=b,ae=void 0,se=1,ce=2,le=new M,ue=new M,he=I,de=j,pe=P,fe=0,ge=U;U.all=he,U.race=de,U.resolve=oe,U.reject=pe,U._setScheduler=c,U._setAsap=l,U._asap=Q,U.prototype={constructor:U,then:ie,"catch":function(e){return this.then(null,e)}};var me=H;H.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},H.prototype._enumerate=function(){for(var e=this.length,t=this._input,n=0;this._state===ae&&e>n;n++)this._eachEntry(t[n],n)},H.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===oe){var i=A(e);if(i===ie&&e._state!==ae)this._settledAt(e._state,t,e._result);else if("function"!=typeof i)this._remaining--,this._result[t]=e;else if(n===ge){var o=new n(y);E(o,e,i),this._willSettleAt(o,t)}else this._willSettleAt(new n(function(t){t(e)}),t)}else this._willSettleAt(r(e),t)},H.prototype._settledAt=function(e,t,n){var r=this.promise;r._state===ae&&(this._remaining--,e===ce?D(r,n):this._result[t]=n),0===this._remaining&&S(r,this._result)},H.prototype._willSettleAt=function(e,t){var n=this;B(e,void 0,function(e){n._settledAt(se,t,e)},function(e){n._settledAt(ce,t,e)})};var ve=V,be={Promise:ge,polyfill:ve};n(115).amd?(r=function(){return be}.call(t,n,t,o),!(void 0!==r&&(o.exports=r))):"undefined"!=typeof o&&o.exports?o.exports=be:"undefined"!=typeof this&&(this.ES6Promise=be),ve()}).call(this)}).call(t,n(112),function(){return this}(),n(113)(e))},function(e,t){function n(){l=!1,a.length?c=a.concat(c):u=-1,c.length&&r()}function r(){if(!l){var e=setTimeout(n);l=!0;for(var t=c.length;t;){for(a=c,c=[];++u1)for(var n=1;n=0&&"[object Array]"!==w(e)&&"[object Function]"===w(e.callee)},Y=K(arguments)?K:G,J={primitive:function(e){return null===e||"function"!=typeof e&&"object"!=typeof e},object:function(e){return null!==e&&"object"==typeof e},string:function(e){return"[object String]"===w(e)},regex:function(e){return"[object RegExp]"===w(e)},symbol:function(e){return"function"==typeof E.Symbol&&"symbol"==typeof e}},Q=function(e,t,n){var r=e[t];b(e,t,n,!0),A.preserveToString(e[t],r)},Z="function"==typeof H&&"function"==typeof H["for"]&&J.symbol(H()),X=J.symbol(H.iterator)?H.iterator:"_es6-shim iterator_";E.Set&&"function"==typeof(new E.Set)["@@iterator"]&&(X="@@iterator"),E.Reflect||b(E,"Reflect",{},!0);var ee=E.Reflect,te=String,ne={Call:function(e,n){var r=arguments.length>2?arguments[2]:[];if(!ne.IsCallable(e))throw new TypeError(e+" is not a function");return t(e,n,r)},RequireObjectCoercible:function(e,t){if(null==e)throw new TypeError(t||"Cannot call method on "+e);return e},TypeIsObject:function(e){return void 0===e||null===e||e===!0||e===!1?!1:"function"==typeof e||"object"==typeof e},ToObject:function(e,t){return Object(ne.RequireObjectCoercible(e,t))},IsCallable:_,IsConstructor:function(e){return ne.IsCallable(e)},ToInt32:function(e){return ne.ToNumber(e)>>0},ToUint32:function(e){return ne.ToNumber(e)>>>0},ToNumber:function(e){if("[object Symbol]"===w(e))throw new TypeError("Cannot convert a Symbol value to a number");return+e},ToInteger:function(e){var t=ne.ToNumber(e);return W(t)?0:0!==t&&q(t)?(t>0?1:-1)*I(j(t)):t},ToLength:function(e){var t=ne.ToInteger(e);return 0>=t?0:t>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t},SameValue:function(e,t){return e===t?0===e?1/e===1/t:!0:W(e)&&W(t)},SameValueZero:function(e,t){return e===t||W(e)&&W(t)},IsIterable:function(e){return ne.TypeIsObject(e)&&("undefined"!=typeof e[X]||Y(e))},GetIterator:function(t){if(Y(t))return new e(t,"value");var n=ne.GetMethod(t,X);if(!ne.IsCallable(n))throw new TypeError("value is not an iterable");var r=ne.Call(n,t);if(!ne.TypeIsObject(r))throw new TypeError("bad iterator");return r},GetMethod:function(e,t){var n=ne.ToObject(e)[t];if(void 0!==n&&null!==n){if(!ne.IsCallable(n))throw new TypeError("Method not callable: "+t);return n}},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var n=ne.GetMethod(e,"return");if(void 0!==n){var r,i;try{r=ne.Call(n,e)}catch(o){i=o}if(!t){if(i)throw i;if(!ne.TypeIsObject(r))throw new TypeError("Iterator's return method returned a non-object.")}}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ne.TypeIsObject(t))throw new TypeError("bad iterator");return t},IteratorStep:function(e){var t=ne.IteratorNext(e),n=ne.IteratorComplete(t);return n?!1:t},Construct:function(e,t,n,r){var i="undefined"==typeof n?e:n;if(!r&&ee.construct)return ee.construct(e,t,i);var o=i.prototype;ne.TypeIsObject(o)||(o=Object.prototype);var a=C(o),s=ne.Call(e,a,t);return ne.TypeIsObject(s)?s:a},SpeciesConstructor:function(e,t){var n=e.constructor;if(void 0===n)return t;if(!ne.TypeIsObject(n))throw new TypeError("Bad constructor");var r=n[V];if(void 0===r||null===r)return t;if(!ne.IsConstructor(r))throw new TypeError("Bad @@species");return r},CreateHTML:function(e,t,n,r){var i=ne.ToString(e),o="<"+t;if(""!==n){var a=ne.ToString(r),s=a.replace(/"/g,""");o+=" "+n+'="'+s+'"'}var c=o+">",l=c+i;return l+""},IsRegExp:function(e){if(!ne.TypeIsObject(e))return!1;var t=e[H.match];return"undefined"!=typeof t?!!t:J.regex(e)},ToString:function(e){return te(e)}};if(d&&Z){var re=function(e){if(J.symbol(H[e]))return H[e];var t=H["for"]("Symbol."+e);return Object.defineProperty(H,e,{configurable:!1,enumerable:!1,writable:!1,value:t}),t};if(!J.symbol(H.search)){var ie=re("search"),oe=String.prototype.search;b(RegExp.prototype,ie,function(e){return ne.Call(oe,e,[this])});var ae=function(e){var t=ne.RequireObjectCoercible(this);if(null!==e&&"undefined"!=typeof e){var n=ne.GetMethod(e,ie);if("undefined"!=typeof n)return ne.Call(n,e,[t])}return ne.Call(oe,t,[ne.ToString(e)])};Q(String.prototype,"search",ae)}if(!J.symbol(H.replace)){var se=re("replace"),ce=String.prototype.replace;b(RegExp.prototype,se,function(e,t){return ne.Call(ce,e,[this,t])});var le=function(e,t){var n=ne.RequireObjectCoercible(this);if(null!==e&&"undefined"!=typeof e){var r=ne.GetMethod(e,se);if("undefined"!=typeof r)return ne.Call(r,e,[n,t])}return ne.Call(ce,n,[ne.ToString(e),t])};Q(String.prototype,"replace",le)}if(!J.symbol(H.split)){var ue=re("split"),he=String.prototype.split;b(RegExp.prototype,ue,function(e,t){return ne.Call(he,e,[this,t])});var de=function(e,t){var n=ne.RequireObjectCoercible(this);if(null!==e&&"undefined"!=typeof e){var r=ne.GetMethod(e,ue);if("undefined"!=typeof r)return ne.Call(r,e,[n,t])}return ne.Call(he,n,[ne.ToString(e),t])};Q(String.prototype,"split",de)}var pe=J.symbol(H.match),fe=pe&&function(){var e={};return e[H.match]=function(){return 42},42!=="a".match(e)}();if(!pe||fe){var ge=re("match"),me=String.prototype.match;b(RegExp.prototype,ge,function(e){return ne.Call(me,e,[this])});var ve=function(e){var t=ne.RequireObjectCoercible(this);if(null!==e&&"undefined"!=typeof e){var n=ne.GetMethod(e,ge);if("undefined"!=typeof n)return ne.Call(n,e,[t])}return ne.Call(me,t,[ne.ToString(e)])};Q(String.prototype,"match",ve)}}var be=function(e,t,n){A.preserveToString(t,e),Object.setPrototypeOf&&Object.setPrototypeOf(e,t),d?f(Object.getOwnPropertyNames(e),function(r){r in U||n[r]||A.proxy(e,r,t)}):f(Object.keys(e),function(r){r in U||n[r]||(t[r]=e[r])}),t.prototype=e.prototype,A.redefine(e.prototype,"constructor",t)},ye=function(){return this},we=function(e){d&&!z(e,V)&&A.getter(e,V,ye)},_e=function(e,t){var n=t||function(){return this};b(e,X,n),!e[X]&&J.symbol(X)&&(e[X]=n)},Ae=function(e,t,n){d?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n},Ce=function(e,t,n){if(Ae(e,t,n),!ne.SameValue(e[t],n))throw new TypeError("property is nonconfigurable")},ke=function(e,t,n,r){if(!ne.TypeIsObject(e))throw new TypeError("Constructor requires `new`: "+t.name);var i=t.prototype;ne.TypeIsObject(i)||(i=n);var o=C(i);for(var a in r)if(z(r,a)){var s=r[a];b(o,a,s,!0)}return o};if(String.fromCodePoint&&1!==String.fromCodePoint.length){var xe=String.fromCodePoint;Q(String,"fromCodePoint",function(e){return ne.Call(xe,this,arguments)})}var Ee={fromCodePoint:function(e){for(var t,n=[],r=0,i=arguments.length;i>r;r++){if(t=Number(arguments[r]),!ne.SameValue(t,ne.ToInteger(t))||0>t||t>1114111)throw new RangeError("Invalid code point "+t);65536>t?T(n,String.fromCharCode(t)):(t-=65536,T(n,String.fromCharCode((t>>10)+55296)),T(n,String.fromCharCode(t%1024+56320)))}return n.join("")},raw:function(e){var t=ne.ToObject(e,"bad callSite"),n=ne.ToObject(t.raw,"bad raw value"),r=n.length,i=ne.ToLength(r);if(0>=i)return"";for(var o,a,s,c,l=[],u=0;i>u&&(o=ne.ToString(u),s=ne.ToString(n[o]),T(l,s),!(u+1>=i));)a=u+1t)return"";if(t%2)return Dr(e,t-1)+e;var n=Dr(e,t/2);return n+n},$e=1/0,Se={repeat:function(e){var t=ne.ToString(ne.RequireObjectCoercible(this)),n=ne.ToInteger(e);if(0>n||n>=$e)throw new RangeError("repeat count must be less than infinity and not overflow maximum string size");return Fe(t,n)},startsWith:function(e){var t=ne.ToString(ne.RequireObjectCoercible(this));if(ne.IsRegExp(e))throw new TypeError('Cannot call method "startsWith" with a regex');var n,r=ne.ToString(e);arguments.length>1&&(n=arguments[1]);var i=L(ne.ToInteger(n),0);return B(t,i,i+r.length)===r},endsWith:function(e){var t=ne.ToString(ne.RequireObjectCoercible(this));if(ne.IsRegExp(e))throw new TypeError('Cannot call method "endsWith" with a regex');var n,r=ne.ToString(e),i=t.length;arguments.length>1&&(n=arguments[1]);var o="undefined"==typeof n?i:ne.ToInteger(n),a=R(L(o,0),i);return B(t,a-r.length,a)===r},includes:function(e){if(ne.IsRegExp(e))throw new TypeError('"includes" does not accept a RegExp');var t,n=ne.ToString(e);return arguments.length>1&&(t=arguments[1]),-1!==$(this,n,t)},codePointAt:function(e){var t=ne.ToString(ne.RequireObjectCoercible(this)),n=ne.ToInteger(e),r=t.length;if(n>=0&&r>n){var i=t.charCodeAt(n),o=n+1===r;if(55296>i||i>56319||o)return i;var a=t.charCodeAt(n+1);return 56320>a||a>57343?i:1024*(i-55296)+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",1/0)!==!1&&Q(String.prototype,"includes",Se.includes),String.prototype.startsWith&&String.prototype.endsWith){var De=c(function(){"/a/".startsWith(/a/)}),Be=l(function(){return"abc".startsWith("a",1/0)===!1});De&&Be||(Q(String.prototype,"startsWith",Se.startsWith),Q(String.prototype,"endsWith",Se.endsWith))}if(Z){var Te=l(function(){var e=/a/;return e[H.match]=!1,"/a/".startsWith(e)});Te||Q(String.prototype,"startsWith",Se.startsWith);var Me=l(function(){var e=/a/;return e[H.match]=!1,"/a/".endsWith(e)});Me||Q(String.prototype,"endsWith",Se.endsWith);var Oe=l(function(){var e=/a/;return e[H.match]=!1,"/a/".includes(e)});Oe||Q(String.prototype,"includes",Se.includes)}y(String.prototype,Se);var Le=[" \n\x0B\f\r   ᠎    ","          \u2028","\u2029\ufeff"].join(""),Re=new RegExp("(^["+Le+"]+)|(["+Le+"]+$)","g"),Ie=function(){return ne.ToString(ne.RequireObjectCoercible(this)).replace(Re,"")},je=["…","​","￾"].join(""),Pe=new RegExp("["+je+"]","g"),Ne=/^[\-+]0x[0-9a-f]+$/i,ze=je.trim().length!==je.length;b(String.prototype,"trim",Ie,ze);var Ue=function(e){ne.RequireObjectCoercible(e),this._s=ne.ToString(e),this._i=0};Ue.prototype.next=function(){var e=this._s,t=this._i;if("undefined"==typeof e||t>=e.length)return this._s=void 0,{value:void 0,done:!0};var n,r,i=e.charCodeAt(t);return 55296>i||i>56319||t+1===e.length?r=1:(n=e.charCodeAt(t+1),r=56320>n||n>57343?1:2),this._i=t+r,{value:e.substr(t,r),done:!1}},_e(Ue.prototype),_e(String.prototype,function(){return new Ue(this)});var He={from:function(e){var t,r=this;arguments.length>1&&(t=arguments[1]);var i,o;if("undefined"==typeof t)i=!1;else{if(!ne.IsCallable(t))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(o=arguments[2]),i=!0}var a,s,c,l="undefined"!=typeof(Y(e)||ne.GetMethod(e,X));if(l){s=ne.IsConstructor(r)?Object(new r):[];var u,h,d=ne.GetIterator(e);for(c=0;;){if(u=ne.IteratorStep(d),u===!1)break;h=u.value;try{i&&(h="undefined"==typeof o?t(h,c):n(t,o,h,c)),s[c]=h}catch(p){throw ne.IteratorClose(d,!0),p}c+=1}a=c}else{var f=ne.ToObject(e);a=ne.ToLength(f.length),s=ne.IsConstructor(r)?Object(new r(a)):new Array(a);var g;for(c=0;a>c;++c)g=f[c],i&&(g="undefined"==typeof o?t(g,c):n(t,o,g,c)),s[c]=g}return s.length=a,s},of:function(){for(var e=arguments.length,t=this,n=r(t)||!ne.IsCallable(t)?new Array(e):ne.Construct(t,[e]),i=0;e>i;++i)Ce(n,i,arguments[i]);return n.length=e,n}};y(Array,He),we(Array);e=function(e,t){this.i=0,this.array=e,this.kind=t},y(e.prototype,{next:function(){var t=this.i,n=this.array;if(!(this instanceof e))throw new TypeError("Not an ArrayIterator");if("undefined"!=typeof n)for(var r=ne.ToLength(n.length);r>t;t++){var i,o=this.kind;return"key"===o?i=t:"value"===o?i=n[t]:"entry"===o&&(i=[t,n[t]]),this.i=t+1,{value:i,done:!1}}return this.array=void 0,{value:void 0,done:!0}}}),_e(e.prototype);var Ve=Array.of===He.of||function(){var e=function(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&2===t.length}();Ve||Q(Array,"of",He.of);var We={copyWithin:function(e,t){var n,r=ne.ToObject(this),i=ne.ToLength(r.length),o=ne.ToInteger(e),a=ne.ToInteger(t),s=0>o?L(i+o,0):R(o,i),c=0>a?L(i+a,0):R(a,i);arguments.length>2&&(n=arguments[2]);var l="undefined"==typeof n?i:ne.ToInteger(n),u=0>l?L(i+l,0):R(l,i),h=R(u-c,i-s),d=1;for(s>c&&c+h>s&&(d=-1,c+=h-1,s+=h-1);h>0;)c in r?r[s]=r[c]:delete r[s],c+=d,s+=d,h-=1;return r},fill:function(e){var t;arguments.length>1&&(t=arguments[1]);var n;arguments.length>2&&(n=arguments[2]);var r=ne.ToObject(this),i=ne.ToLength(r.length);t=ne.ToInteger("undefined"==typeof t?0:t),n=ne.ToInteger("undefined"==typeof n?i:n);for(var o=0>t?L(i+t,0):R(t,i),a=0>n?i+n:n,s=o;i>s&&a>s;++s)r[s]=e;return r},find:function(e){var t=ne.ToObject(this),r=ne.ToLength(t.length);if(!ne.IsCallable(e))throw new TypeError("Array#find: predicate must be a function");for(var i,o=arguments.length>1?arguments[1]:null,a=0;r>a;a++)if(i=t[a],o){if(n(e,o,i,a,t))return i}else if(e(i,a,t))return i},findIndex:function(e){var t=ne.ToObject(this),r=ne.ToLength(t.length);if(!ne.IsCallable(e))throw new TypeError("Array#findIndex: predicate must be a function");for(var i=arguments.length>1?arguments[1]:null,o=0;r>o;o++)if(i){if(n(e,i,t[o],o,t))return o}else if(e(t[o],o,t))return o;return-1},keys:function(){return new e(this,"key")},values:function(){return new e(this,"value")},entries:function(){return new e(this,"entry")}};if(Array.prototype.keys&&!ne.IsCallable([1].keys().next)&&delete Array.prototype.keys,Array.prototype.entries&&!ne.IsCallable([1].entries().next)&&delete Array.prototype.entries,Array.prototype.keys&&Array.prototype.entries&&!Array.prototype.values&&Array.prototype[X]&&(y(Array.prototype,{values:Array.prototype[X]}),J.symbol(H.unscopables)&&(Array.prototype[H.unscopables].values=!0)),p&&Array.prototype.values&&"values"!==Array.prototype.values.name){var qe=Array.prototype.values;Q(Array.prototype,"values",function(){return ne.Call(qe,this,arguments)}),b(Array.prototype,X,Array.prototype.values,!0)}y(Array.prototype,We),1/[!0].indexOf(!0,-0)<0&&b(Array.prototype,"indexOf",function(e){var t=S(this,arguments);return 0===t&&0>1/t?0:t},!0),_e(Array.prototype,function(){return this.values()}),Object.getPrototypeOf&&_e(Object.getPrototypeOf([].values()));var Ke=function(){return l(function(){return 0===Array.from({length:-1}).length})}(),Ge=function(){var e=Array.from([0].entries());return 1===e.length&&r(e[0])&&0===e[0][0]&&0===e[0][1]}();Ke&&Ge||Q(Array,"from",He.from);var Ye=function(){return l(function(){return Array.from([0],void 0)})}();if(!Ye){var Je=Array.from;Q(Array,"from",function(e){return arguments.length>1&&"undefined"!=typeof arguments[1]?ne.Call(Je,this,arguments):n(Je,this,e)})}var Qe=-(Math.pow(2,32)-1),Ze=function(e,t){var r={length:Qe};return r[t?(r.length>>>0)-1:0]=!0,l(function(){return n(e,r,function(){throw new RangeError("should not reach here")},[]),!0})};if(!Ze(Array.prototype.forEach)){var Xe=Array.prototype.forEach;Q(Array.prototype,"forEach",function(e){return ne.Call(Xe,this.length>=0?this:[],arguments)},!0)}if(!Ze(Array.prototype.map)){var et=Array.prototype.map;Q(Array.prototype,"map",function(e){return ne.Call(et,this.length>=0?this:[],arguments)},!0)}if(!Ze(Array.prototype.filter)){var tt=Array.prototype.filter;Q(Array.prototype,"filter",function(e){return ne.Call(tt,this.length>=0?this:[],arguments)},!0)}if(!Ze(Array.prototype.some)){var nt=Array.prototype.some;Q(Array.prototype,"some",function(e){return ne.Call(nt,this.length>=0?this:[],arguments)},!0)}if(!Ze(Array.prototype.every)){var rt=Array.prototype.every;Q(Array.prototype,"every",function(e){return ne.Call(rt,this.length>=0?this:[],arguments)},!0)}if(!Ze(Array.prototype.reduce)){var it=Array.prototype.reduce;Q(Array.prototype,"reduce",function(e){return ne.Call(it,this.length>=0?this:[],arguments)},!0)}if(!Ze(Array.prototype.reduceRight,!0)){var ot=Array.prototype.reduceRight;Q(Array.prototype,"reduceRight",function(e){return ne.Call(ot,this.length>=0?this:[],arguments)},!0)}var at=8!==Number("0o10"),st=2!==Number("0b10"),ct=v(je,function(e){return 0===Number(e+0+e)});if(at||st||ct){var lt=Number,ut=/^0b[01]+$/i,ht=/^0o[0-7]+$/i,dt=ut.test.bind(ut),pt=ht.test.bind(ht),ft=function(e){var t;if("function"==typeof e.valueOf&&(t=e.valueOf(),J.primitive(t)))return t;if("function"==typeof e.toString&&(t=e.toString(),J.primitive(t)))return t;throw new TypeError("No default value")},gt=Pe.test.bind(Pe),mt=Ne.test.bind(Ne),vt=function(){var e=function(t){var n;n=arguments.length>0?J.primitive(t)?t:ft(t,"number"):0,"string"==typeof n&&(n=ne.Call(Ie,n),dt(n)?n=parseInt(B(n,2),2):pt(n)?n=parseInt(B(n,2),8):(gt(n)||mt(n))&&(n=NaN));var r=this,i=l(function(){return lt.prototype.valueOf.call(r),!0});return r instanceof e&&!i?new lt(n):lt(n)};return e}();be(lt,vt,{}),y(vt,{NaN:lt.NaN,MAX_VALUE:lt.MAX_VALUE,MIN_VALUE:lt.MIN_VALUE,NEGATIVE_INFINITY:lt.NEGATIVE_INFINITY,POSITIVE_INFINITY:lt.POSITIVE_INFINITY}),Number=vt,A.redefine(E,"Number",vt)}var bt=Math.pow(2,53)-1;y(Number,{MAX_SAFE_INTEGER:bt,MIN_SAFE_INTEGER:-bt,EPSILON:2.220446049250313e-16,parseInt:E.parseInt,parseFloat:E.parseFloat,isFinite:q,isInteger:function(e){return q(e)&&ne.ToInteger(e)===e},isSafeInteger:function(e){return Number.isInteger(e)&&j(e)<=Number.MAX_SAFE_INTEGER},isNaN:W}),b(Number,"parseInt",E.parseInt,Number.parseInt!==E.parseInt),[,1].find(function(e,t){return 0===t})||Q(Array.prototype,"find",We.find),0!==[,1].findIndex(function(e,t){return 0===t})&&Q(Array.prototype,"findIndex",We.findIndex);var yt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable),wt=function(e,t){d&&yt(e,t)&&Object.defineProperty(e,t,{enumerable:!1})},_t=function(){for(var e=Number(this),t=arguments.length,n=t-e,r=new Array(0>n?0:n),i=e;t>i;++i)r[i-e]=arguments[i];return r},At=function(e){return function(t,n){return t[n]=e[n],t}},Ct=function(e,t){var n,r=i(Object(t));return ne.IsCallable(Object.getOwnPropertySymbols)&&(n=m(Object.getOwnPropertySymbols(Object(t)),yt(t))),g(D(r,n||[]),At(t),e)},kt={assign:function(e,t){var n=ne.ToObject(e,"Cannot convert undefined or null to object");return g(ne.Call(_t,1,arguments),Ct,n)},is:function(e,t){return ne.SameValue(e,t)}},xt=Object.assign&&Object.preventExtensions&&function(){var e=Object.preventExtensions({1:2});try{Object.assign(e,"xy")}catch(t){return"y"===e[1]}}();if(xt&&Q(Object,"assign",kt.assign),y(Object,kt),d){var Et={setPrototypeOf:function(e,t){var r,i=function(e,t){if(!ne.TypeIsObject(e))throw new TypeError("cannot set prototype on a non-object");if(null!==t&&!ne.TypeIsObject(t))throw new TypeError("can only set prototype to an object or null"+t)},o=function(e,t){return i(e,t),n(r,e,t),e};try{r=e.getOwnPropertyDescriptor(e.prototype,t).set,n(r,{},null)}catch(a){if(e.prototype!=={}[t])return;r=function(e){this[t]=e},o.polyfill=o(o({},null),e.prototype)instanceof e}return o}(Object,"__proto__")};y(Object,Et)}Object.setPrototypeOf&&Object.getPrototypeOf&&null!==Object.getPrototypeOf(Object.setPrototypeOf({},null))&&null===Object.getPrototypeOf(Object.create(null))&&!function(){var e=Object.create(null),t=Object.getPrototypeOf,n=Object.setPrototypeOf;Object.getPrototypeOf=function(n){var r=t(n);return r===e?null:r},Object.setPrototypeOf=function(t,r){var i=null===r?e:r;return n(t,i)},Object.setPrototypeOf.polyfill=!1}();var Ft=!c(function(){Object.keys("foo")});if(!Ft){var $t=Object.keys;Q(Object,"keys",function(e){return $t(ne.ToObject(e))}),i=Object.keys}var St=c(function(){Object.keys(/a/g)});if(St){var Dt=Object.keys;Q(Object,"keys",function(e){if(J.regex(e)){var t=[];for(var n in e)z(e,n)&&T(t,n);return t}return Dt(e)}),i=Object.keys}if(Object.getOwnPropertyNames){var Bt=!c(function(){Object.getOwnPropertyNames("foo")});if(!Bt){var Tt="object"==typeof window?Object.getOwnPropertyNames(window):[],Mt=Object.getOwnPropertyNames;Q(Object,"getOwnPropertyNames",function(e){var t=ne.ToObject(e);if("[object Window]"===w(t))try{return Mt(t)}catch(n){return D([],Tt)}return Mt(t)})}}if(Object.getOwnPropertyDescriptor){var Ot=!c(function(){Object.getOwnPropertyDescriptor("foo","bar")});if(!Ot){var Lt=Object.getOwnPropertyDescriptor;Q(Object,"getOwnPropertyDescriptor",function(e,t){return Lt(ne.ToObject(e),t)})}}if(Object.seal){var Rt=!c(function(){Object.seal("foo")});if(!Rt){var It=Object.seal;Q(Object,"seal",function(e){return J.object(e)?It(e):e})}}if(Object.isSealed){var jt=!c(function(){Object.isSealed("foo")});if(!jt){var Pt=Object.isSealed;Q(Object,"isSealed",function(e){return J.object(e)?Pt(e):!0})}}if(Object.freeze){var Nt=!c(function(){Object.freeze("foo")});if(!Nt){var zt=Object.freeze;Q(Object,"freeze",function(e){return J.object(e)?zt(e):e})}}if(Object.isFrozen){var Ut=!c(function(){Object.isFrozen("foo")});if(!Ut){var Ht=Object.isFrozen;Q(Object,"isFrozen",function(e){return J.object(e)?Ht(e):!0})}}if(Object.preventExtensions){var Vt=!c(function(){Object.preventExtensions("foo")});if(!Vt){var Wt=Object.preventExtensions;Q(Object,"preventExtensions",function(e){return J.object(e)?Wt(e):e})}}if(Object.isExtensible){var qt=!c(function(){Object.isExtensible("foo")});if(!qt){var Kt=Object.isExtensible;Q(Object,"isExtensible",function(e){return J.object(e)?Kt(e):!1})}}if(Object.getPrototypeOf){var Gt=!c(function(){Object.getPrototypeOf("foo")});if(!Gt){var Yt=Object.getPrototypeOf;Q(Object,"getPrototypeOf",function(e){return Yt(ne.ToObject(e))})}}var Jt=d&&function(){var e=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags");return e&&ne.IsCallable(e.get)}();if(d&&!Jt){var Qt=function(){if(!ne.TypeIsObject(this))throw new TypeError("Method called on incompatible type: must be an object.");var e="";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.unicode&&(e+="u"),this.sticky&&(e+="y"),e};A.getter(RegExp.prototype,"flags",Qt)}var Zt=d&&l(function(){return"/a/i"===String(new RegExp(/a/g,"i"))}),Xt=Z&&d&&function(){var e=/./;return e[H.match]=!1,RegExp(e)===e}(),en=l(function(){return"/abc/"===RegExp.prototype.toString.call({source:"abc"})}),tn=en&&l(function(){return"/a/b"===RegExp.prototype.toString.call({source:"a",flags:"b"})});if(!en||!tn){var nn=RegExp.prototype.toString;b(RegExp.prototype,"toString",function(){var e=ne.RequireObjectCoercible(this);if(J.regex(e))return n(nn,e);var t=te(e.source),r=te(e.flags);return"/"+t+"/"+r},!0),A.preserveToString(RegExp.prototype.toString,nn)}if(d&&(!Zt||Xt)){var rn=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags").get,on=Object.getOwnPropertyDescriptor(RegExp.prototype,"source")||{},an=function(){return this.source},sn=ne.IsCallable(on.get)?on.get:an,cn=RegExp,ln=function(){return function e(t,n){var r=ne.IsRegExp(t),i=this instanceof e;if(!i&&r&&"undefined"==typeof n&&t.constructor===e)return t;var o=t,a=n;return J.regex(t)?(o=ne.Call(sn,t),a="undefined"==typeof n?ne.Call(rn,t):n,new e(o,a)):(r&&(o=t.source,a="undefined"==typeof n?t.flags:n),new cn(t,n))}}();be(cn,ln,{$input:!0}),RegExp=ln,A.redefine(E,"RegExp",ln)}if(d){var un={input:"$_",lastMatch:"$&",lastParen:"$+",leftContext:"$`",rightContext:"$'"};f(i(un),function(e){e in RegExp&&!(un[e]in RegExp)&&A.getter(RegExp,un[e],function(){return RegExp[e]})})}we(RegExp);var hn=1/Number.EPSILON,dn=function(e){return e+hn-hn},pn=Math.pow(2,-23),fn=Math.pow(2,127)*(2-pn),gn=Math.pow(2,-126),mn=Number.prototype.clz;delete Number.prototype.clz;var vn={acosh:function(e){var t=Number(e);return Number.isNaN(t)||1>e?NaN:1===t?0:t===1/0?t:P(t/Math.E+N(t+1)*N(t-1)/Math.E)+1},asinh:function(e){var t=Number(e);return 0!==t&&F(t)?0>t?-Math.asinh(-t):P(t+N(t*t+1)):t},atanh:function(e){var t=Number(e);return Number.isNaN(t)||-1>t||t>1?NaN:-1===t?-(1/0):1===t?1/0:0===t?t:.5*P((1+t)/(1-t))},cbrt:function(e){var t=Number(e);if(0===t)return t;var n,r=0>t;return r&&(t=-t),t===1/0?n=1/0:(n=Math.exp(P(t)/3),n=(t/(n*n)+2*n)/3),r?-n:n},clz32:function(e){var t=Number(e),n=ne.ToUint32(t);return 0===n?32:mn?ne.Call(mn,n):31-I(P(n+.5)*Math.LOG2E)},cosh:function(e){var t=Number(e);return 0===t?1:Number.isNaN(t)?NaN:F(t)?(0>t&&(t=-t),t>21?Math.exp(t)/2:(Math.exp(t)+Math.exp(-t))/2):1/0},expm1:function(e){var t=Number(e);if(t===-(1/0))return-1;if(!F(t)||0===t)return t;if(j(t)>.5)return Math.exp(t)-1;for(var n=t,r=0,i=1;r+n!==r;)r+=n,i+=1,n*=t/i;return r},hypot:function(e,t){for(var n=0,r=0,i=0;ir?(n*=r/o*(r/o),n+=1,r=o):n+=o>0?o/r*(o/r):o}return r===1/0?1/0:r*N(n)},log2:function(e){return P(e)*Math.LOG2E},log10:function(e){return P(e)*Math.LOG10E},log1p:function(e){var t=Number(e);return-1>t||Number.isNaN(t)?NaN:0===t||t===1/0?t:-1===t?-(1/0):1+t-1===0?t:t*(P(1+t)/(1+t-1))},sign:function(e){var t=Number(e);return 0===t?t:Number.isNaN(t)?t:0>t?-1:1},sinh:function(e){var t=Number(e);return F(t)&&0!==t?j(t)<1?(Math.expm1(t)-Math.expm1(-t))/2:(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2:t},tanh:function(e){var t=Number(e);if(Number.isNaN(t)||0===t)return t;if(t>=20)return 1;if(-20>=t)return-1;var n=Math.expm1(t),r=Math.expm1(-t);return n===1/0?1:r===1/0?-1:(n-r)/(Math.exp(t)+Math.exp(-t))},trunc:function(e){var t=Number(e);return 0>t?-I(-t):I(t)},imul:function(e,t){var n=ne.ToUint32(e),r=ne.ToUint32(t),i=n>>>16&65535,o=65535&n,a=r>>>16&65535,s=65535&r;return o*s+(i*s+o*a<<16>>>0)|0},fround:function(e){var t=Number(e);if(0===t||t===1/0||t===-(1/0)||W(t))return t;var n=Math.sign(t),r=j(t);if(gn>r)return n*dn(r/gn/pn)*gn*pn;var i=(1+pn/Number.EPSILON)*r,o=i-(i-r);return o>fn||W(o)?n*(1/0):n*o}};y(Math,vn),b(Math,"log1p",vn.log1p,-1e-17!==Math.log1p(-1e-17)),b(Math,"asinh",vn.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)),b(Math,"tanh",vn.tanh,-2e-17!==Math.tanh(-2e-17)),b(Math,"acosh",vn.acosh,Math.acosh(Number.MAX_VALUE)===1/0),b(Math,"cbrt",vn.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8),b(Math,"sinh",vn.sinh,-2e-17!==Math.sinh(-2e-17));var bn=Math.expm1(10);b(Math,"expm1",vn.expm1,bn>22025.465794806718||22025.465794806718>bn);var yn=Math.round,wn=0===Math.round(.5-Number.EPSILON/4)&&1===Math.round(-.5+Number.EPSILON/3.99),_n=hn+1,An=2*hn-1,Cn=[_n,An].every(function(e){return Math.round(e)===e});b(Math,"round",function(e){var t=I(e),n=-1===t?-0:t+1;return.5>e-t?t:n},!wn||!Cn),A.preserveToString(Math.round,yn);var kn=Math.imul;-5!==Math.imul(4294967295,5)&&(Math.imul=vn.imul,A.preserveToString(Math.imul,kn)),2!==Math.imul.length&&Q(Math,"imul",function(e,t){return ne.Call(kn,Math,arguments)});var xn=function(){var e=E.setTimeout;if("function"==typeof e||"object"==typeof e){ne.IsPromise=function(e){return ne.TypeIsObject(e)?"undefined"!=typeof e._promise:!1};var t,r=function(e){if(!ne.IsConstructor(e))throw new TypeError("Bad promise constructor");var t=this,n=function(e,n){if(void 0!==t.resolve||void 0!==t.reject)throw new TypeError("Bad Promise implementation!");t.resolve=e,t.reject=n};if(t.resolve=void 0,t.reject=void 0,t.promise=new e(n),!ne.IsCallable(t.resolve)||!ne.IsCallable(t.reject))throw new TypeError("Bad promise constructor")};"undefined"!=typeof window&&ne.IsCallable(window.postMessage)&&(t=function(){var e=[],t="zero-timeout-message",n=function(n){T(e,n),window.postMessage(t,"*")},r=function(n){if(n.source===window&&n.data===t){if(n.stopPropagation(),0===e.length)return;var r=O(e);r()}};return window.addEventListener("message",r,!0),n});var i,o,s=function(){var e=E.Promise,t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}},c=ne.IsCallable(E.setImmediate)?E.setImmediate:"object"==typeof a&&a.nextTick?a.nextTick:s()||(ne.IsCallable(t)?t():function(t){e(t,0)}),l=function(e){return e},u=function(e){throw e},h=0,d=1,p=2,f=0,g=1,m=2,v={},b=function(e,t,n){c(function(){w(e,t,n)})},w=function(e,t,n){var r,i;if(t===v)return e(n);try{r=e(n),i=t.resolve}catch(o){r=o,i=t.reject}i(r)},_=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(b(n.fulfillReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var i=1,o=0;r>i;i++,o+=3)b(n[o+f],n[o+m],t),e[o+f]=void 0,e[o+g]=void 0,e[o+m]=void 0;n.result=t,n.state=d,n.reactionLength=0},A=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(b(n.rejectReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var i=1,o=0;r>i;i++,o+=3)b(n[o+g],n[o+m],t),e[o+f]=void 0,e[o+g]=void 0,e[o+m]=void 0;n.result=t,n.state=p,n.reactionLength=0},C=function(e){var t=!1,n=function(n){var r;if(!t){if(t=!0,n===e)return A(e,new TypeError("Self resolution"));if(!ne.TypeIsObject(n))return _(e,n);try{r=n.then}catch(i){return A(e,i)}return ne.IsCallable(r)?void c(function(){x(e,n,r)}):_(e,n)}},r=function(n){return t?void 0:(t=!0,A(e,n))};return{resolve:n,reject:r}},k=function(e,t,r,i){e===o?n(e,t,r,i,v):n(e,t,r,i)},x=function(e,t,n){var r=C(e),i=r.resolve,o=r.reject;try{k(n,t,i,o)}catch(a){o(a)}},F=function(){var e=function(t){if(!(this instanceof e))throw new TypeError('Constructor Promise requires "new"');if(this&&this._promise)throw new TypeError("Bad construction");if(!ne.IsCallable(t))throw new TypeError("not a valid resolver");var n=ke(this,e,i,{_promise:{result:void 0,state:h,reactionLength:0,fulfillReactionHandler0:void 0,rejectReactionHandler0:void 0,reactionCapability0:void 0}}),r=C(n),o=r.reject;try{t(r.resolve,o)}catch(a){ -o(a)}return n};return e}();i=F.prototype;var $=function(e,t,n,r){var i=!1;return function(o){if(!i&&(i=!0,t[e]=o,0===--r.count)){var a=n.resolve;a(t)}}},S=function(e,t,n){for(var r,i,o=e.iterator,a=[],s={count:1},c=0;;){try{if(r=ne.IteratorStep(o),r===!1){e.done=!0;break}i=r.value}catch(l){throw e.done=!0,l}a[c]=void 0;var u=t.resolve(i),h=$(c,a,n,s);s.count+=1,k(u.then,u,h,n.reject),c+=1}if(0===--s.count){var d=n.resolve;d(a)}return n.promise},D=function(e,t,n){for(var r,i,o,a=e.iterator;;){try{if(r=ne.IteratorStep(a),r===!1){e.done=!0;break}i=r.value}catch(s){throw e.done=!0,s}o=t.resolve(i),k(o.then,o,n.resolve,n.reject)}return n.promise};return y(F,{all:function(e){var t=this;if(!ne.TypeIsObject(t))throw new TypeError("Promise is not object");var n,i,o=new r(t);try{return n=ne.GetIterator(e),i={iterator:n,done:!1},S(i,t,o)}catch(a){var s=a;if(i&&!i.done)try{ne.IteratorClose(n,!0)}catch(c){s=c}var l=o.reject;return l(s),o.promise}},race:function(e){var t=this;if(!ne.TypeIsObject(t))throw new TypeError("Promise is not object");var n,i,o=new r(t);try{return n=ne.GetIterator(e),i={iterator:n,done:!1},D(i,t,o)}catch(a){var s=a;if(i&&!i.done)try{ne.IteratorClose(n,!0)}catch(c){s=c}var l=o.reject;return l(s),o.promise}},reject:function(e){var t=this;if(!ne.TypeIsObject(t))throw new TypeError("Bad promise constructor");var n=new r(t),i=n.reject;return i(e),n.promise},resolve:function(e){var t=this;if(!ne.TypeIsObject(t))throw new TypeError("Bad promise constructor");if(ne.IsPromise(e)){var n=e.constructor;if(n===t)return e}var i=new r(t),o=i.resolve;return o(e),i.promise}}),y(i,{"catch":function(e){return this.then(null,e)},then:function(e,t){var n=this;if(!ne.IsPromise(n))throw new TypeError("not a promise");var i,o=ne.SpeciesConstructor(n,F),a=arguments.length>2&&arguments[2]===v;i=a&&o===F?v:new r(o);var s,c=ne.IsCallable(e)?e:l,y=ne.IsCallable(t)?t:u,w=n._promise;if(w.state===h){if(0===w.reactionLength)w.fulfillReactionHandler0=c,w.rejectReactionHandler0=y,w.reactionCapability0=i;else{var _=3*(w.reactionLength-1);w[_+f]=c,w[_+g]=y,w[_+m]=i}w.reactionLength+=1}else if(w.state===d)s=w.result,b(c,i,s);else{if(w.state!==p)throw new TypeError("unexpected Promise state");s=w.result,b(y,i,s)}return i.promise}}),v=new r(F),o=i.then,F}}();if(E.Promise&&(delete E.Promise.accept,delete E.Promise.defer,delete E.Promise.prototype.chain),"function"==typeof xn){y(E,{Promise:xn});var En=k(E.Promise,function(e){return e.resolve(42).then(function(){})instanceof e}),Fn=!c(function(){E.Promise.reject(42).then(null,5).then(null,U)}),$n=c(function(){E.Promise.call(3,U)}),Sn=function(e){var t=e.resolve(5);t.constructor={};var n=e.resolve(t);try{n.then(null,U).then(null,U)}catch(r){return!0}return t===n}(E.Promise),Dn=d&&function(){var e=0,t=Object.defineProperty({},"then",{get:function(){e+=1}});return Promise.resolve(t),1===e}(),Bn=function Br(e){var t=new Promise(e);e(3,function(){}),this.then=t.then,this.constructor=Br};Bn.prototype=Promise.prototype,Bn.all=Promise.all;var Tn=l(function(){return!!Bn.all([1,2])});if(En&&Fn&&$n&&!Sn&&Dn&&!Tn||(Promise=xn,Q(E,"Promise",xn)),1!==Promise.all.length){var Mn=Promise.all;Q(Promise,"all",function(e){return ne.Call(Mn,this,arguments)})}if(1!==Promise.race.length){var On=Promise.race;Q(Promise,"race",function(e){return ne.Call(On,this,arguments)})}if(1!==Promise.resolve.length){var Ln=Promise.resolve;Q(Promise,"resolve",function(e){return ne.Call(Ln,this,arguments)})}if(1!==Promise.reject.length){var Rn=Promise.reject;Q(Promise,"reject",function(e){return ne.Call(Rn,this,arguments)})}wt(Promise,"all"),wt(Promise,"race"),wt(Promise,"resolve"),wt(Promise,"reject"),we(Promise)}var In=function(e){var t=i(g(e,function(e,t){return e[t]=!0,e},{}));return e.join(":")===t.join(":")},jn=In(["z","a","bb"]),Pn=In(["z",1,"a","3",2]);if(d){var Nn=function(e){return jn?"undefined"==typeof e||null===e?"^"+ne.ToString(e):"string"==typeof e?"$"+e:"number"==typeof e?Pn?e:"n"+e:"boolean"==typeof e?"b"+e:null:null},zn=function(){return Object.create?Object.create(null):{}},Un=function(e,t,i){if(r(i)||J.string(i))f(i,function(e){if(!ne.TypeIsObject(e))throw new TypeError("Iterator value "+e+" is not an entry object");t.set(e[0],e[1])});else if(i instanceof e)n(e.prototype.forEach,i,function(e,n){t.set(n,e)});else{var o,a;if(null!==i&&"undefined"!=typeof i){if(a=t.set,!ne.IsCallable(a))throw new TypeError("bad map");o=ne.GetIterator(i)}if("undefined"!=typeof o)for(;;){var s=ne.IteratorStep(o);if(s===!1)break;var c=s.value;try{if(!ne.TypeIsObject(c))throw new TypeError("Iterator value "+c+" is not an entry object");n(a,t,c[0],c[1])}catch(l){throw ne.IteratorClose(o,!0),l}}}},Hn=function(e,t,i){if(r(i)||J.string(i))f(i,function(e){t.add(e)});else if(i instanceof e)n(e.prototype.forEach,i,function(e){t.add(e)});else{var o,a;if(null!==i&&"undefined"!=typeof i){if(a=t.add,!ne.IsCallable(a))throw new TypeError("bad set");o=ne.GetIterator(i)}if("undefined"!=typeof o)for(;;){var s=ne.IteratorStep(o);if(s===!1)break;var c=s.value;try{n(a,t,c)}catch(l){throw ne.IteratorClose(o,!0),l}}}},Vn={Map:function(){var e={},t=function(e,t){this.key=e,this.value=t,this.next=null,this.prev=null};t.prototype.isRemoved=function(){return this.key===e};var r=function(e){return!!e._es6map},i=function(e,t){if(!ne.TypeIsObject(e)||!r(e))throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ne.ToString(e))},o=function(e,t){i(e,"[[MapIterator]]"),this.head=e._head,this.i=this.head,this.kind=t};o.prototype={next:function(){var e,t=this.i,n=this.kind,r=this.head;if("undefined"==typeof this.i)return{value:void 0,done:!0};for(;t.isRemoved()&&t!==r;)t=t.prev;for(;t.next!==r;)if(t=t.next,!t.isRemoved())return e="key"===n?t.key:"value"===n?t.value:[t.key,t.value],this.i=t,{value:e,done:!1};return this.i=void 0,{value:void 0,done:!0}}},_e(o.prototype);var a,s=function c(){if(!(this instanceof c))throw new TypeError('Constructor Map requires "new"');if(this&&this._es6map)throw new TypeError("Bad construction");var e=ke(this,c,a,{_es6map:!0,_head:null,_storage:zn(),_size:0}),n=new t(null,null);return n.next=n.prev=n,e._head=n,arguments.length>0&&Un(c,e,arguments[0]),e};return a=s.prototype,A.getter(a,"size",function(){if("undefined"==typeof this._size)throw new TypeError("size method called on incompatible Map");return this._size}),y(a,{get:function(e){i(this,"get");var t=Nn(e);if(null!==t){var n=this._storage[t];return n?n.value:void 0}for(var r=this._head,o=r;(o=o.next)!==r;)if(ne.SameValueZero(o.key,e))return o.value},has:function(e){i(this,"has");var t=Nn(e);if(null!==t)return"undefined"!=typeof this._storage[t];for(var n=this._head,r=n;(r=r.next)!==n;)if(ne.SameValueZero(r.key,e))return!0;return!1},set:function(e,n){i(this,"set");var r,o=this._head,a=o,s=Nn(e);if(null!==s){if("undefined"!=typeof this._storage[s])return this._storage[s].value=n,this;r=this._storage[s]=new t(e,n),a=o.prev}for(;(a=a.next)!==o;)if(ne.SameValueZero(a.key,e))return a.value=n,this;return r=r||new t(e,n),ne.SameValue(-0,e)&&(r.key=0),r.next=this._head,r.prev=this._head.prev,r.prev.next=r,r.next.prev=r,this._size+=1,this},"delete":function(t){i(this,"delete");var n=this._head,r=n,o=Nn(t);if(null!==o){if("undefined"==typeof this._storage[o])return!1;r=this._storage[o].prev,delete this._storage[o]}for(;(r=r.next)!==n;)if(ne.SameValueZero(r.key,t))return r.key=r.value=e,r.prev.next=r.next,r.next.prev=r.prev,this._size-=1,!0;return!1},clear:function(){i(this,"clear"),this._size=0,this._storage=zn();for(var t=this._head,n=t,r=n.next;(n=r)!==t;)n.key=n.value=e,r=n.next,n.next=n.prev=t;t.next=t.prev=t},keys:function(){return i(this,"keys"),new o(this,"key")},values:function(){return i(this,"values"),new o(this,"value")},entries:function(){return i(this,"entries"),new o(this,"key+value")},forEach:function(e){i(this,"forEach");for(var t=arguments.length>1?arguments[1]:null,r=this.entries(),o=r.next();!o.done;o=r.next())t?n(e,t,o.value[1],o.value[0],this):e(o.value[1],o.value[0],this)}}),_e(a,a.entries),s}(),Set:function(){var e,t=function(e){return e._es6set&&"undefined"!=typeof e._storage},r=function(e,n){if(!ne.TypeIsObject(e)||!t(e))throw new TypeError("Set.prototype."+n+" called on incompatible receiver "+ne.ToString(e))},o=function c(){if(!(this instanceof c))throw new TypeError('Constructor Set requires "new"');if(this&&this._es6set)throw new TypeError("Bad construction");var t=ke(this,c,e,{_es6set:!0,"[[SetData]]":null,_storage:zn()});if(!t._es6set)throw new TypeError("bad set");return arguments.length>0&&Hn(c,t,arguments[0]),t};e=o.prototype;var a=function(e){var t=e;if("^null"===t)return null;if("^undefined"!==t){var n=t.charAt(0);return"$"===n?B(t,1):"n"===n?+B(t,1):"b"===n?"btrue"===t:+t}},s=function(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new Vn.Map;f(i(e._storage),function(e){var n=a(e);t.set(n,n)}),e["[[SetData]]"]=t}e._storage=null};return A.getter(o.prototype,"size",function(){return r(this,"size"),this._storage?i(this._storage).length:(s(this),this["[[SetData]]"].size)}),y(o.prototype,{has:function(e){r(this,"has");var t;return this._storage&&null!==(t=Nn(e))?!!this._storage[t]:(s(this),this["[[SetData]]"].has(e))},add:function(e){r(this,"add");var t;return this._storage&&null!==(t=Nn(e))?(this._storage[t]=!0,this):(s(this),this["[[SetData]]"].set(e,e),this)},"delete":function(e){r(this,"delete");var t;if(this._storage&&null!==(t=Nn(e))){var n=z(this._storage,t);return delete this._storage[t]&&n}return s(this),this["[[SetData]]"]["delete"](e)},clear:function(){r(this,"clear"),this._storage&&(this._storage=zn()),this["[[SetData]]"]&&this["[[SetData]]"].clear()},values:function(){return r(this,"values"),s(this),this["[[SetData]]"].values()},entries:function(){return r(this,"entries"),s(this),this["[[SetData]]"].entries()},forEach:function(e){r(this,"forEach");var t=arguments.length>1?arguments[1]:null,i=this;s(i),this["[[SetData]]"].forEach(function(r,o){t?n(e,t,o,o,i):e(o,o,i)})}}),b(o.prototype,"keys",o.prototype.values,!0),_e(o.prototype,o.prototype.values),o}()};if(E.Map||E.Set){var Wn=l(function(){return 2===new Map([[1,2]]).get(1)});if(!Wn){var qn=E.Map;E.Map=function Tr(){if(!(this instanceof Tr))throw new TypeError('Constructor Map requires "new"');var e=new qn;return arguments.length>0&&Un(Tr,e,arguments[0]),delete e.constructor,Object.setPrototypeOf(e,E.Map.prototype),e},E.Map.prototype=C(qn.prototype),b(E.Map.prototype,"constructor",E.Map,!0),A.preserveToString(E.Map,qn)}var Kn=new Map,Gn=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);return e.set(-0,e),e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}(),Yn=Kn.set(1,2)===Kn;if(!Gn||!Yn){var Jn=Map.prototype.set;Q(Map.prototype,"set",function(e,t){return n(Jn,this,0===e?0:e,t),this})}if(!Gn){var Qn=Map.prototype.get,Zn=Map.prototype.has;y(Map.prototype,{get:function(e){return n(Qn,this,0===e?0:e)},has:function(e){return n(Zn,this,0===e?0:e)}},!0),A.preserveToString(Map.prototype.get,Qn),A.preserveToString(Map.prototype.has,Zn)}var Xn=new Set,er=function(e){return e["delete"](0),e.add(-0),!e.has(0)}(Xn),tr=Xn.add(1)===Xn;if(!er||!tr){var nr=Set.prototype.add;Set.prototype.add=function(e){return n(nr,this,0===e?0:e),this},A.preserveToString(Set.prototype.add,nr)}if(!er){var rr=Set.prototype.has;Set.prototype.has=function(e){return n(rr,this,0===e?0:e)},A.preserveToString(Set.prototype.has,rr);var ir=Set.prototype["delete"];Set.prototype["delete"]=function(e){return n(ir,this,0===e?0:e)},A.preserveToString(Set.prototype["delete"],ir)}var or=k(E.Map,function(e){var t=new e([]);return t.set(42,42),t instanceof e}),ar=Object.setPrototypeOf&&!or,sr=function(){try{return!(E.Map()instanceof E.Map)}catch(e){return e instanceof TypeError}}();if(0!==E.Map.length||ar||!sr){var cr=E.Map;E.Map=function Mr(){if(!(this instanceof Mr))throw new TypeError('Constructor Map requires "new"');var e=new cr;return arguments.length>0&&Un(Mr,e,arguments[0]),delete e.constructor,Object.setPrototypeOf(e,Mr.prototype),e},E.Map.prototype=cr.prototype,b(E.Map.prototype,"constructor",E.Map,!0),A.preserveToString(E.Map,cr)}var lr=k(E.Set,function(e){var t=new e([]);return t.add(42,42),t instanceof e}),ur=Object.setPrototypeOf&&!lr,hr=function(){try{return!(E.Set()instanceof E.Set)}catch(e){return e instanceof TypeError}}();if(0!==E.Set.length||ur||!hr){var dr=E.Set;E.Set=function Or(){if(!(this instanceof Or))throw new TypeError('Constructor Set requires "new"');var e=new dr;return arguments.length>0&&Hn(Or,e,arguments[0]),delete e.constructor,Object.setPrototypeOf(e,Or.prototype),e},E.Set.prototype=dr.prototype,b(E.Set.prototype,"constructor",E.Set,!0),A.preserveToString(E.Set,dr)}var pr=!l(function(){return(new Map).keys().next().done});if(("function"!=typeof E.Map.prototype.clear||0!==(new E.Set).size||0!==(new E.Map).size||"function"!=typeof E.Map.prototype.keys||"function"!=typeof E.Set.prototype.keys||"function"!=typeof E.Map.prototype.forEach||"function"!=typeof E.Set.prototype.forEach||u(E.Map)||u(E.Set)||"function"!=typeof(new E.Map).keys().next||pr||!or)&&y(E,{Map:Vn.Map,Set:Vn.Set},!0),E.Set.prototype.keys!==E.Set.prototype.values&&b(E.Set.prototype,"keys",E.Set.prototype.values,!0),_e(Object.getPrototypeOf((new E.Map).keys())),_e(Object.getPrototypeOf((new E.Set).keys())),p&&"has"!==E.Set.prototype.has.name){var fr=E.Set.prototype.has;Q(E.Set.prototype,"has",function(e){return n(fr,this,e)})}}y(E,Vn),we(E.Map),we(E.Set)}var gr=function(e){if(!ne.TypeIsObject(e))throw new TypeError("target must be an object")},mr={apply:function(){return ne.Call(ne.Call,null,arguments)},construct:function(e,t){if(!ne.IsConstructor(e))throw new TypeError("First argument must be a constructor.");var n=arguments.length>2?arguments[2]:e;if(!ne.IsConstructor(n))throw new TypeError("new.target must be a constructor.");return ne.Construct(e,t,n,"internal")},deleteProperty:function(e,t){if(gr(e),d){var n=Object.getOwnPropertyDescriptor(e,t);if(n&&!n.configurable)return!1}return delete e[t]},has:function(e,t){return gr(e),t in e}};Object.getOwnPropertyNames&&Object.assign(mr,{ownKeys:function(e){gr(e);var t=Object.getOwnPropertyNames(e);return ne.IsCallable(Object.getOwnPropertySymbols)&&M(t,Object.getOwnPropertySymbols(e)),t}});var vr=function(e){return!c(e)};if(Object.preventExtensions&&Object.assign(mr,{isExtensible:function(e){return gr(e),Object.isExtensible(e)},preventExtensions:function(e){return gr(e),vr(function(){Object.preventExtensions(e)})}}),d){var br=function(e,t,n){var r=Object.getOwnPropertyDescriptor(e,t);if(!r){var i=Object.getPrototypeOf(e);if(null===i)return;return br(i,t,n)}return"value"in r?r.value:r.get?ne.Call(r.get,n):void 0},yr=function(e,t,r,i){var o=Object.getOwnPropertyDescriptor(e,t);if(!o){var a=Object.getPrototypeOf(e);if(null!==a)return yr(a,t,r,i);o={value:void 0,writable:!0,enumerable:!0,configurable:!0}}if("value"in o){if(!o.writable)return!1;if(!ne.TypeIsObject(i))return!1;var s=Object.getOwnPropertyDescriptor(i,t);return s?ee.defineProperty(i,t,{value:r}):ee.defineProperty(i,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}return o.set?(n(o.set,i,r),!0):!1};Object.assign(mr,{defineProperty:function(e,t,n){return gr(e),vr(function(){Object.defineProperty(e,t,n)})},getOwnPropertyDescriptor:function(e,t){return gr(e),Object.getOwnPropertyDescriptor(e,t)},get:function(e,t){gr(e);var n=arguments.length>2?arguments[2]:e;return br(e,t,n)},set:function(e,t,n){gr(e);var r=arguments.length>3?arguments[3]:e;return yr(e,t,n,r)}})}if(Object.getPrototypeOf){var wr=Object.getPrototypeOf;mr.getPrototypeOf=function(e){return gr(e),wr(e)}}if(Object.setPrototypeOf&&mr.getPrototypeOf){var _r=function(e,t){for(var n=t;n;){if(e===n)return!0;n=mr.getPrototypeOf(n)}return!1};Object.assign(mr,{setPrototypeOf:function(e,t){if(gr(e),null!==t&&!ne.TypeIsObject(t))throw new TypeError("proto must be an object or null");return t===ee.getPrototypeOf(e)?!0:ee.isExtensible&&!ee.isExtensible(e)?!1:_r(e,t)?!1:(Object.setPrototypeOf(e,t),!0)}})}var Ar=function(e,t){if(ne.IsCallable(E.Reflect[e])){var n=l(function(){return E.Reflect[e](1),E.Reflect[e](NaN),E.Reflect[e](!0),!0});n&&Q(E.Reflect,e,t)}else b(E.Reflect,e,t)};Object.keys(mr).forEach(function(e){Ar(e,mr[e])});var Cr=E.Reflect.getPrototypeOf;if(p&&Cr&&"getPrototypeOf"!==Cr.name&&Q(E.Reflect,"getPrototypeOf",function(e){return n(Cr,E.Reflect,e)}),E.Reflect.setPrototypeOf&&l(function(){return E.Reflect.setPrototypeOf(1,{}),!0})&&Q(E.Reflect,"setPrototypeOf",mr.setPrototypeOf),E.Reflect.defineProperty&&(l(function(){var e=!E.Reflect.defineProperty(1,"test",{value:1}),t="function"!=typeof Object.preventExtensions||!E.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})||Q(E.Reflect,"defineProperty",mr.defineProperty)),E.Reflect.construct&&(l(function(){var e=function(){};return E.Reflect.construct(function(){},[],e)instanceof e})||Q(E.Reflect,"construct",mr.construct)),"Invalid Date"!==String(new Date(NaN))){var kr=Date.prototype.toString,xr=function(){var e=+this;return e!==e?"Invalid Date":ne.Call(kr,this)};Q(Date.prototype,"toString",xr)}var Er={anchor:function(e){return ne.CreateHTML(this,"a","name",e)},big:function(){return ne.CreateHTML(this,"big","","")},blink:function(){return ne.CreateHTML(this,"blink","","")},bold:function(){return ne.CreateHTML(this,"b","","")},fixed:function(){return ne.CreateHTML(this,"tt","","")},fontcolor:function(e){return ne.CreateHTML(this,"font","color",e)},fontsize:function(e){return ne.CreateHTML(this,"font","size",e)},italics:function(){return ne.CreateHTML(this,"i","","")},link:function(e){return ne.CreateHTML(this,"a","href",e)},small:function(){return ne.CreateHTML(this,"small","","")},strike:function(){return ne.CreateHTML(this,"strike","","")},sub:function(){return ne.CreateHTML(this,"sub","","")},sup:function(){return ne.CreateHTML(this,"sup","","")}};f(Object.keys(Er),function(e){var t=String.prototype[e],r=!1;if(ne.IsCallable(t)){var i=n(t,"",' " '),o=D([],i.match(/"/g)).length;r=i!==i.toLowerCase()||o>2}else r=!0;r&&Q(String.prototype,e,Er[e])});var Fr=function(){if(!Z)return!1;var e="object"==typeof JSON&&"function"==typeof JSON.stringify?JSON.stringify:null;if(!e)return!1;if("undefined"!=typeof e(H()))return!0;if("[null]"!==e([H()]))return!0;var t={a:H()};return t[H()]=!0,"{}"!==e(t)}(),$r=l(function(){return Z?"{}"===JSON.stringify(Object(H()))&&"[{}]"===JSON.stringify([Object(H())]):!0});if(Fr||!$r){var Sr=JSON.stringify;Q(JSON,"stringify",function(e){if("symbol"!=typeof e){var t;arguments.length>1&&(t=arguments[1]);var i=[e];if(r(t))i.push(t);else{var o=ne.IsCallable(t)?t:null,a=function(e,t){var r=o?n(o,this,e,t):t;return"symbol"!=typeof r?J.symbol(r)?At({})(r):r:void 0};i.push(a)}return arguments.length>2&&i.push(arguments[2]),Sr.apply(this,i)}})}return E})}).call(t,function(){return this}(),n(112))},function(e,t,n){n(118)},function(e,t,n){var r=n(119);"string"==typeof r&&(r=[[e.id,r,""]]);n(127)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(120)(),t.push([e.id,'.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-fw{width:1.28571429em;text-align:center}.fa-glass:before{content:"\\F000"}.fa-music:before{content:"\\F001"}.fa-search:before{content:"\\F002"}.fa-envelope-o:before{content:"\\F003"}.fa-heart:before{content:"\\F004"}.fa-star:before{content:"\\F005"}.fa-star-o:before{content:"\\F006"}.fa-user:before{content:"\\F007"}.fa-film:before{content:"\\F008"}.fa-th-large:before{content:"\\F009"}.fa-th:before{content:"\\F00A"}.fa-th-list:before{content:"\\F00B"}.fa-check:before{content:"\\F00C"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\\F00D"}.fa-search-plus:before{content:"\\F00E"}.fa-search-minus:before{content:"\\F010"}.fa-power-off:before{content:"\\F011"}.fa-signal:before{content:"\\F012"}.fa-cog:before,.fa-gear:before{content:"\\F013"}.fa-trash-o:before{content:"\\F014"}.fa-home:before{content:"\\F015"}.fa-file-o:before{content:"\\F016"}.fa-clock-o:before{content:"\\F017"}.fa-road:before{content:"\\F018"}.fa-download:before{content:"\\F019"}.fa-arrow-circle-o-down:before{content:"\\F01A"}.fa-arrow-circle-o-up:before{content:"\\F01B"}.fa-inbox:before{content:"\\F01C"}.fa-play-circle-o:before{content:"\\F01D"}.fa-repeat:before,.fa-rotate-right:before{content:"\\F01E"}.fa-refresh:before{content:"\\F021"}.fa-list-alt:before{content:"\\F022"}.fa-lock:before{content:"\\F023"}.fa-flag:before{content:"\\F024"}.fa-headphones:before{content:"\\F025"}.fa-volume-off:before{content:"\\F026"}.fa-volume-down:before{content:"\\F027"}.fa-volume-up:before{content:"\\F028"}.fa-qrcode:before{content:"\\F029"}.fa-barcode:before{content:"\\F02A"}.fa-tag:before{content:"\\F02B"}.fa-tags:before{content:"\\F02C"}.fa-book:before{content:"\\F02D"}.fa-bookmark:before{content:"\\F02E"}.fa-print:before{content:"\\F02F"}.fa-camera:before{content:"\\F030"}.fa-font:before{content:"\\F031"}.fa-bold:before{content:"\\F032"}.fa-italic:before{content:"\\F033"}.fa-text-height:before{content:"\\F034"}.fa-text-width:before{content:"\\F035"}.fa-align-left:before{content:"\\F036"}.fa-align-center:before{content:"\\F037"}.fa-align-right:before{content:"\\F038"}.fa-align-justify:before{content:"\\F039"}.fa-list:before{content:"\\F03A"}.fa-dedent:before,.fa-outdent:before{content:"\\F03B"}.fa-indent:before{content:"\\F03C"}.fa-video-camera:before{content:"\\F03D"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\\F03E"}.fa-pencil:before{content:"\\F040"}.fa-map-marker:before{content:"\\F041"}.fa-adjust:before{content:"\\F042"}.fa-tint:before{content:"\\F043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\\F044"}.fa-share-square-o:before{content:"\\F045"}.fa-check-square-o:before{content:"\\F046"}.fa-arrows:before{content:"\\F047"}.fa-step-backward:before{content:"\\F048"}.fa-fast-backward:before{content:"\\F049"}.fa-backward:before{content:"\\F04A"}.fa-play:before{content:"\\F04B"}.fa-pause:before{content:"\\F04C"}.fa-stop:before{content:"\\F04D"}.fa-forward:before{content:"\\F04E"}.fa-fast-forward:before{content:"\\F050"}.fa-step-forward:before{content:"\\F051"}.fa-eject:before{content:"\\F052"}.fa-chevron-left:before{content:"\\F053"}.fa-chevron-right:before{content:"\\F054"}.fa-plus-circle:before{content:"\\F055"}.fa-minus-circle:before{content:"\\F056"}.fa-times-circle:before{content:"\\F057"}.fa-check-circle:before{content:"\\F058"}.fa-question-circle:before{content:"\\F059"}.fa-info-circle:before{content:"\\F05A"}.fa-crosshairs:before{content:"\\F05B"}.fa-times-circle-o:before{content:"\\F05C"}.fa-check-circle-o:before{content:"\\F05D"}.fa-ban:before{content:"\\F05E"}.fa-arrow-left:before{content:"\\F060"}.fa-arrow-right:before{content:"\\F061"}.fa-arrow-up:before{content:"\\F062"}.fa-arrow-down:before{content:"\\F063"}.fa-mail-forward:before,.fa-share:before{content:"\\F064"}.fa-expand:before{content:"\\F065"}.fa-compress:before{content:"\\F066"}.fa-plus:before{content:"\\F067"}.fa-minus:before{content:"\\F068"}.fa-asterisk:before{content:"\\F069"}.fa-exclamation-circle:before{content:"\\F06A"}.fa-gift:before{content:"\\F06B"}.fa-leaf:before{content:"\\F06C"}.fa-fire:before{content:"\\F06D"}.fa-eye:before{content:"\\F06E"}.fa-eye-slash:before{content:"\\F070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\\F071"}.fa-plane:before{content:"\\F072"}.fa-calendar:before{content:"\\F073"}.fa-random:before{content:"\\F074"}.fa-comment:before{content:"\\F075"}.fa-magnet:before{content:"\\F076"}.fa-chevron-up:before{content:"\\F077"}.fa-chevron-down:before{content:"\\F078"}.fa-retweet:before{content:"\\F079"}.fa-shopping-cart:before{content:"\\F07A"}.fa-folder:before{content:"\\F07B"}.fa-folder-open:before{content:"\\F07C"}.fa-arrows-v:before{content:"\\F07D"}.fa-arrows-h:before{content:"\\F07E"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\\F080"}.fa-twitter-square:before{content:"\\F081"}.fa-facebook-square:before{content:"\\F082"}.fa-camera-retro:before{content:"\\F083"}.fa-key:before{content:"\\F084"}.fa-cogs:before,.fa-gears:before{content:"\\F085"}.fa-comments:before{content:"\\F086"}.fa-thumbs-o-up:before{content:"\\F087"}.fa-thumbs-o-down:before{content:"\\F088"}.fa-star-half:before{content:"\\F089"}.fa-heart-o:before{content:"\\F08A"}.fa-sign-out:before{content:"\\F08B"}.fa-linkedin-square:before{content:"\\F08C"}.fa-thumb-tack:before{content:"\\F08D"}.fa-external-link:before{content:"\\F08E"}.fa-sign-in:before{content:"\\F090"}.fa-trophy:before{content:"\\F091"}.fa-github-square:before{content:"\\F092"}.fa-upload:before{content:"\\F093"}.fa-lemon-o:before{content:"\\F094"}.fa-phone:before{content:"\\F095"}.fa-square-o:before{content:"\\F096"}.fa-bookmark-o:before{content:"\\F097"}.fa-phone-square:before{content:"\\F098"}.fa-twitter:before{content:"\\F099"}.fa-facebook-f:before,.fa-facebook:before{content:"\\F09A"}.fa-github:before{content:"\\F09B"}.fa-unlock:before{content:"\\F09C"}.fa-credit-card:before{content:"\\F09D"}.fa-feed:before,.fa-rss:before{content:"\\F09E"}.fa-hdd-o:before{content:"\\F0A0"}.fa-bullhorn:before{content:"\\F0A1"}.fa-bell:before{content:"\\F0F3"}.fa-certificate:before{content:"\\F0A3"}.fa-hand-o-right:before{content:"\\F0A4"}.fa-hand-o-left:before{content:"\\F0A5"}.fa-hand-o-up:before{content:"\\F0A6"}.fa-hand-o-down:before{content:"\\F0A7"}.fa-arrow-circle-left:before{content:"\\F0A8"}.fa-arrow-circle-right:before{content:"\\F0A9"}.fa-arrow-circle-up:before{content:"\\F0AA"}.fa-arrow-circle-down:before{content:"\\F0AB"}.fa-globe:before{content:"\\F0AC"}.fa-wrench:before{content:"\\F0AD"}.fa-tasks:before{content:"\\F0AE"}.fa-filter:before{content:"\\F0B0"}.fa-briefcase:before{content:"\\F0B1"}.fa-arrows-alt:before{content:"\\F0B2"}.fa-group:before,.fa-users:before{content:"\\F0C0"}.fa-chain:before,.fa-link:before{content:"\\F0C1"}.fa-cloud:before{content:"\\F0C2"}.fa-flask:before{content:"\\F0C3"}.fa-cut:before,.fa-scissors:before{content:"\\F0C4"}.fa-copy:before,.fa-files-o:before{content:"\\F0C5"}.fa-paperclip:before{content:"\\F0C6"}.fa-floppy-o:before,.fa-save:before{content:"\\F0C7"}.fa-square:before{content:"\\F0C8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\\F0C9"}.fa-list-ul:before{content:"\\F0CA"}.fa-list-ol:before{content:"\\F0CB"}.fa-strikethrough:before{content:"\\F0CC"}.fa-underline:before{content:"\\F0CD"}.fa-table:before{content:"\\F0CE"}.fa-magic:before{content:"\\F0D0"}.fa-truck:before{content:"\\F0D1"}.fa-pinterest:before{content:"\\F0D2"}.fa-pinterest-square:before{content:"\\F0D3"}.fa-google-plus-square:before{content:"\\F0D4"}.fa-google-plus:before{content:"\\F0D5"}.fa-money:before{content:"\\F0D6"}.fa-caret-down:before{content:"\\F0D7"}.fa-caret-up:before{content:"\\F0D8"}.fa-caret-left:before{content:"\\F0D9"}.fa-caret-right:before{content:"\\F0DA"}.fa-columns:before{content:"\\F0DB"}.fa-sort:before,.fa-unsorted:before{content:"\\F0DC"}.fa-sort-desc:before,.fa-sort-down:before{content:"\\F0DD"}.fa-sort-asc:before,.fa-sort-up:before{content:"\\F0DE"}.fa-envelope:before{content:"\\F0E0"}.fa-linkedin:before{content:"\\F0E1"}.fa-rotate-left:before,.fa-undo:before{content:"\\F0E2"}.fa-gavel:before,.fa-legal:before{content:"\\F0E3"}.fa-dashboard:before,.fa-tachometer:before{content:"\\F0E4"}.fa-comment-o:before{content:"\\F0E5"}.fa-comments-o:before{content:"\\F0E6"}.fa-bolt:before,.fa-flash:before{content:"\\F0E7"}.fa-sitemap:before{content:"\\F0E8"}.fa-umbrella:before{content:"\\F0E9"}.fa-clipboard:before,.fa-paste:before{content:"\\F0EA"}.fa-lightbulb-o:before{content:"\\F0EB"}.fa-exchange:before{content:"\\F0EC"}.fa-cloud-download:before{content:"\\F0ED"}.fa-cloud-upload:before{content:"\\F0EE"}.fa-user-md:before{content:"\\F0F0"}.fa-stethoscope:before{content:"\\F0F1"}.fa-suitcase:before{content:"\\F0F2"}.fa-bell-o:before{content:"\\F0A2"}.fa-coffee:before{content:"\\F0F4"}.fa-cutlery:before{content:"\\F0F5"}.fa-file-text-o:before{content:"\\F0F6"}.fa-building-o:before{content:"\\F0F7"}.fa-hospital-o:before{content:"\\F0F8"}.fa-ambulance:before{content:"\\F0F9"}.fa-medkit:before{content:"\\F0FA"}.fa-fighter-jet:before{content:"\\F0FB"}.fa-beer:before{content:"\\F0FC"}.fa-h-square:before{content:"\\F0FD"}.fa-plus-square:before{content:"\\F0FE"}.fa-angle-double-left:before{content:"\\F100"}.fa-angle-double-right:before{content:"\\F101"}.fa-angle-double-up:before{content:"\\F102"}.fa-angle-double-down:before{content:"\\F103"}.fa-angle-left:before{content:"\\F104"}.fa-angle-right:before{content:"\\F105"}.fa-angle-up:before{content:"\\F106"}.fa-angle-down:before{content:"\\F107"}.fa-desktop:before{content:"\\F108"}.fa-laptop:before{content:"\\F109"}.fa-tablet:before{content:"\\F10A"}.fa-mobile-phone:before,.fa-mobile:before{content:"\\F10B"}.fa-circle-o:before{content:"\\F10C"}.fa-quote-left:before{content:"\\F10D"}.fa-quote-right:before{content:"\\F10E"}.fa-spinner:before{content:"\\F110"}.fa-circle:before{content:"\\F111"}.fa-mail-reply:before,.fa-reply:before{content:"\\F112"}.fa-github-alt:before{content:"\\F113"}.fa-folder-o:before{content:"\\F114"}.fa-folder-open-o:before{content:"\\F115"}.fa-smile-o:before{content:"\\F118"}.fa-frown-o:before{content:"\\F119"}.fa-meh-o:before{content:"\\F11A"}.fa-gamepad:before{content:"\\F11B"}.fa-keyboard-o:before{content:"\\F11C"}.fa-flag-o:before{content:"\\F11D"}.fa-flag-checkered:before{content:"\\F11E"}.fa-terminal:before{content:"\\F120"}.fa-code:before{content:"\\F121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\\F122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\\F123"}.fa-location-arrow:before{content:"\\F124"}.fa-crop:before{content:"\\F125"}.fa-code-fork:before{content:"\\F126"}.fa-chain-broken:before,.fa-unlink:before{content:"\\F127"}.fa-question:before{content:"\\F128"}.fa-info:before{content:"\\F129"}.fa-exclamation:before{content:"\\F12A"}.fa-superscript:before{content:"\\F12B"}.fa-subscript:before{content:"\\F12C"}.fa-eraser:before{content:"\\F12D"}.fa-puzzle-piece:before{content:"\\F12E"}.fa-microphone:before{content:"\\F130"}.fa-microphone-slash:before{content:"\\F131"}.fa-shield:before{content:"\\F132"}.fa-calendar-o:before{content:"\\F133"}.fa-fire-extinguisher:before{content:"\\F134"}.fa-rocket:before{content:"\\F135"}.fa-maxcdn:before{content:"\\F136"}.fa-chevron-circle-left:before{content:"\\F137"}.fa-chevron-circle-right:before{content:"\\F138"}.fa-chevron-circle-up:before{content:"\\F139"}.fa-chevron-circle-down:before{content:"\\F13A"}.fa-html5:before{content:"\\F13B"}.fa-css3:before{content:"\\F13C"}.fa-anchor:before{content:"\\F13D"}.fa-unlock-alt:before{content:"\\F13E"}.fa-bullseye:before{content:"\\F140"}.fa-ellipsis-h:before{content:"\\F141"}.fa-ellipsis-v:before{content:"\\F142"}.fa-rss-square:before{content:"\\F143"}.fa-play-circle:before{content:"\\F144"}.fa-ticket:before{content:"\\F145"}.fa-minus-square:before{content:"\\F146"}.fa-minus-square-o:before{content:"\\F147"}.fa-level-up:before{content:"\\F148"}.fa-level-down:before{content:"\\F149"}.fa-check-square:before{content:"\\F14A"}.fa-pencil-square:before{content:"\\F14B"}.fa-external-link-square:before{content:"\\F14C"}.fa-share-square:before{content:"\\F14D"}.fa-compass:before{content:"\\F14E"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\\F150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\\F151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\\F152"}.fa-eur:before,.fa-euro:before{content:"\\F153"}.fa-gbp:before{content:"\\F154"}.fa-dollar:before,.fa-usd:before{content:"\\F155"}.fa-inr:before,.fa-rupee:before{content:"\\F156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\\F157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\\F158"}.fa-krw:before,.fa-won:before{content:"\\F159"}.fa-bitcoin:before,.fa-btc:before{content:"\\F15A"}.fa-file:before{content:"\\F15B"}.fa-file-text:before{content:"\\F15C"}.fa-sort-alpha-asc:before{content:"\\F15D"}.fa-sort-alpha-desc:before{content:"\\F15E"}.fa-sort-amount-asc:before{content:"\\F160"}.fa-sort-amount-desc:before{content:"\\F161"}.fa-sort-numeric-asc:before{content:"\\F162"}.fa-sort-numeric-desc:before{content:"\\F163"}.fa-thumbs-up:before{content:"\\F164"}.fa-thumbs-down:before{content:"\\F165"}.fa-youtube-square:before{content:"\\F166"}.fa-youtube:before{content:"\\F167"}.fa-xing:before{content:"\\F168"}.fa-xing-square:before{content:"\\F169"}.fa-youtube-play:before{content:"\\F16A"}.fa-dropbox:before{content:"\\F16B"}.fa-stack-overflow:before{content:"\\F16C"}.fa-instagram:before{content:"\\F16D"}.fa-flickr:before{content:"\\F16E"}.fa-adn:before{content:"\\F170"}.fa-bitbucket:before{content:"\\F171"}.fa-bitbucket-square:before{content:"\\F172"}.fa-tumblr:before{content:"\\F173"}.fa-tumblr-square:before{content:"\\F174"}.fa-long-arrow-down:before{content:"\\F175"}.fa-long-arrow-up:before{content:"\\F176"}.fa-long-arrow-left:before{content:"\\F177"}.fa-long-arrow-right:before{content:"\\F178"}.fa-apple:before{content:"\\F179"}.fa-windows:before{content:"\\F17A"}.fa-android:before{content:"\\F17B"}.fa-linux:before{content:"\\F17C"}.fa-dribbble:before{content:"\\F17D"}.fa-skype:before{content:"\\F17E"}.fa-foursquare:before{content:"\\F180"}.fa-trello:before{content:"\\F181"}.fa-female:before{content:"\\F182"}.fa-male:before{content:"\\F183"}.fa-gittip:before,.fa-gratipay:before{content:"\\F184"}.fa-sun-o:before{content:"\\F185"}.fa-moon-o:before{content:"\\F186"}.fa-archive:before{content:"\\F187"}.fa-bug:before{content:"\\F188"}.fa-vk:before{content:"\\F189"}.fa-weibo:before{content:"\\F18A"}.fa-renren:before{content:"\\F18B"}.fa-pagelines:before{content:"\\F18C"}.fa-stack-exchange:before{content:"\\F18D"}.fa-arrow-circle-o-right:before{content:"\\F18E"}.fa-arrow-circle-o-left:before{content:"\\F190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\\F191"}.fa-dot-circle-o:before{content:"\\F192"}.fa-wheelchair:before{content:"\\F193"}.fa-vimeo-square:before{content:"\\F194"}.fa-try:before,.fa-turkish-lira:before{content:"\\F195"}.fa-plus-square-o:before{content:"\\F196"}.fa-space-shuttle:before{content:"\\F197"}.fa-slack:before{content:"\\F198"}.fa-envelope-square:before{content:"\\F199"}.fa-wordpress:before{content:"\\F19A"}.fa-openid:before{content:"\\F19B"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\\F19C"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\\F19D"}.fa-yahoo:before{content:"\\F19E"}.fa-google:before{content:"\\F1A0"}.fa-reddit:before{content:"\\F1A1"}.fa-reddit-square:before{content:"\\F1A2"}.fa-stumbleupon-circle:before{content:"\\F1A3"}.fa-stumbleupon:before{content:"\\F1A4"}.fa-delicious:before{content:"\\F1A5"}.fa-digg:before{content:"\\F1A6"}.fa-pied-piper:before{content:"\\F1A7"}.fa-pied-piper-alt:before{content:"\\F1A8"}.fa-drupal:before{content:"\\F1A9"}.fa-joomla:before{content:"\\F1AA"}.fa-language:before{content:"\\F1AB"}.fa-fax:before{content:"\\F1AC"}.fa-building:before{content:"\\F1AD"}.fa-child:before{content:"\\F1AE"}.fa-paw:before{content:"\\F1B0"}.fa-spoon:before{content:"\\F1B1"}.fa-cube:before{content:"\\F1B2"}.fa-cubes:before{content:"\\F1B3"}.fa-behance:before{content:"\\F1B4"}.fa-behance-square:before{content:"\\F1B5"}.fa-steam:before{content:"\\F1B6"}.fa-steam-square:before{content:"\\F1B7"}.fa-recycle:before{content:"\\F1B8"}.fa-automobile:before,.fa-car:before{content:"\\F1B9"}.fa-cab:before,.fa-taxi:before{content:"\\F1BA"}.fa-tree:before{content:"\\F1BB"}.fa-spotify:before{content:"\\F1BC"}.fa-deviantart:before{content:"\\F1BD"}.fa-soundcloud:before{content:"\\F1BE"}.fa-database:before{content:"\\F1C0"}.fa-file-pdf-o:before{content:"\\F1C1"}.fa-file-word-o:before{content:"\\F1C2"}.fa-file-excel-o:before{content:"\\F1C3"}.fa-file-powerpoint-o:before{content:"\\F1C4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\\F1C5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\\F1C6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\\F1C7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\\F1C8"}.fa-file-code-o:before{content:"\\F1C9"}.fa-vine:before{content:"\\F1CA"}.fa-codepen:before{content:"\\F1CB"}.fa-jsfiddle:before{content:"\\F1CC"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\\F1CD"}.fa-circle-o-notch:before{content:"\\F1CE"}.fa-ra:before,.fa-rebel:before{content:"\\F1D0"}.fa-empire:before,.fa-ge:before{content:"\\F1D1"}.fa-git-square:before{content:"\\F1D2"}.fa-git:before{content:"\\F1D3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\\F1D4"}.fa-tencent-weibo:before{content:"\\F1D5"}.fa-qq:before{content:"\\F1D6"}.fa-wechat:before,.fa-weixin:before{content:"\\F1D7"}.fa-paper-plane:before,.fa-send:before{content:"\\F1D8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\\F1D9"}.fa-history:before{content:"\\F1DA"}.fa-circle-thin:before{content:"\\F1DB"}.fa-header:before{content:"\\F1DC"}.fa-paragraph:before{content:"\\F1DD"}.fa-sliders:before{content:"\\F1DE"}.fa-share-alt:before{content:"\\F1E0"}.fa-share-alt-square:before{content:"\\F1E1"}.fa-bomb:before{content:"\\F1E2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\\F1E3"}.fa-tty:before{content:"\\F1E4"}.fa-binoculars:before{content:"\\F1E5"}.fa-plug:before{content:"\\F1E6"}.fa-slideshare:before{content:"\\F1E7"}.fa-twitch:before{content:"\\F1E8"}.fa-yelp:before{content:"\\F1E9"}.fa-newspaper-o:before{content:"\\F1EA"}.fa-wifi:before{content:"\\F1EB"}.fa-calculator:before{content:"\\F1EC"}.fa-paypal:before{content:"\\F1ED"}.fa-google-wallet:before{content:"\\F1EE"}.fa-cc-visa:before{content:"\\F1F0"}.fa-cc-mastercard:before{content:"\\F1F1"}.fa-cc-discover:before{content:"\\F1F2"}.fa-cc-amex:before{content:"\\F1F3"}.fa-cc-paypal:before{content:"\\F1F4"}.fa-cc-stripe:before{content:"\\F1F5"}.fa-bell-slash:before{content:"\\F1F6"}.fa-bell-slash-o:before{content:"\\F1F7"}.fa-trash:before{content:"\\F1F8"}.fa-copyright:before{content:"\\F1F9"}.fa-at:before{content:"\\F1FA"}.fa-eyedropper:before{content:"\\F1FB"}.fa-paint-brush:before{content:"\\F1FC"}.fa-birthday-cake:before{content:"\\F1FD"}.fa-area-chart:before{content:"\\F1FE"}.fa-pie-chart:before{content:"\\F200"}.fa-line-chart:before{content:"\\F201"}.fa-lastfm:before{content:"\\F202"}.fa-lastfm-square:before{content:"\\F203"}.fa-toggle-off:before{content:"\\F204"}.fa-toggle-on:before{content:"\\F205"}.fa-bicycle:before{content:"\\F206"}.fa-bus:before{content:"\\F207"}.fa-ioxhost:before{content:"\\F208"}.fa-angellist:before{content:"\\F209"}.fa-cc:before{content:"\\F20A"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\\F20B"}.fa-meanpath:before{content:"\\F20C"}.fa-buysellads:before{content:"\\F20D"}.fa-connectdevelop:before{content:"\\F20E"}.fa-dashcube:before{content:"\\F210"}.fa-forumbee:before{content:"\\F211"}.fa-leanpub:before{content:"\\F212"}.fa-sellsy:before{content:"\\F213"}.fa-shirtsinbulk:before{content:"\\F214"}.fa-simplybuilt:before{content:"\\F215"}.fa-skyatlas:before{content:"\\F216"}.fa-cart-plus:before{content:"\\F217"}.fa-cart-arrow-down:before{content:"\\F218"}.fa-diamond:before{content:"\\F219"}.fa-ship:before{content:"\\F21A"}.fa-user-secret:before{content:"\\F21B"}.fa-motorcycle:before{content:"\\F21C"}.fa-street-view:before{content:"\\F21D"}.fa-heartbeat:before{content:"\\F21E"}.fa-venus:before{content:"\\F221"}.fa-mars:before{content:"\\F222"}.fa-mercury:before{content:"\\F223"}.fa-intersex:before,.fa-transgender:before{content:"\\F224"}.fa-transgender-alt:before{content:"\\F225"}.fa-venus-double:before{content:"\\F226"}.fa-mars-double:before{content:"\\F227"}.fa-venus-mars:before{content:"\\F228"}.fa-mars-stroke:before{content:"\\F229"}.fa-mars-stroke-v:before{content:"\\F22A"}.fa-mars-stroke-h:before{content:"\\F22B"}.fa-neuter:before{content:"\\F22C"}.fa-genderless:before{content:"\\F22D"}.fa-facebook-official:before{content:"\\F230"}.fa-pinterest-p:before{content:"\\F231"}.fa-whatsapp:before{content:"\\F232"}.fa-server:before{content:"\\F233"}.fa-user-plus:before{content:"\\F234"}.fa-user-times:before{content:"\\F235"}.fa-bed:before,.fa-hotel:before{content:"\\F236"}.fa-viacoin:before{content:"\\F237"}.fa-train:before{content:"\\F238"}.fa-subway:before{content:"\\F239"}.fa-medium:before{content:"\\F23A"}.fa-y-combinator:before,.fa-yc:before{content:"\\F23B"}.fa-optin-monster:before{content:"\\F23C"}.fa-opencart:before{content:"\\F23D"}.fa-expeditedssl:before{content:"\\F23E"}.fa-battery-4:before,.fa-battery-full:before{content:"\\F240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\\F241"}.fa-battery-2:before,.fa-battery-half:before{content:"\\F242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\\F243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\\F244"}.fa-mouse-pointer:before{content:"\\F245"}.fa-i-cursor:before{content:"\\F246"}.fa-object-group:before{content:"\\F247"}.fa-object-ungroup:before{content:"\\F248"}.fa-sticky-note:before{content:"\\F249"}.fa-sticky-note-o:before{content:"\\F24A"}.fa-cc-jcb:before{content:"\\F24B"}.fa-cc-diners-club:before{content:"\\F24C"}.fa-clone:before{content:"\\F24D"}.fa-balance-scale:before{content:"\\F24E"}.fa-hourglass-o:before{content:"\\F250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\\F251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\\F252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\\F253"}.fa-hourglass:before{content:"\\F254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\\F255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\\F256"}.fa-hand-scissors-o:before{content:"\\F257"}.fa-hand-lizard-o:before{content:"\\F258"}.fa-hand-spock-o:before{content:"\\F259"}.fa-hand-pointer-o:before{content:"\\F25A"}.fa-hand-peace-o:before{content:"\\F25B"}.fa-trademark:before{content:"\\F25C"}.fa-registered:before{content:"\\F25D"}.fa-creative-commons:before{content:"\\F25E"}.fa-gg:before{content:"\\F260"}.fa-gg-circle:before{content:"\\F261"}.fa-tripadvisor:before{content:"\\F262"}.fa-odnoklassniki:before{content:"\\F263"}.fa-odnoklassniki-square:before{content:"\\F264"}.fa-get-pocket:before{content:"\\F265"}.fa-wikipedia-w:before{content:"\\F266"}.fa-safari:before{content:"\\F267"}.fa-chrome:before{content:"\\F268"}.fa-firefox:before{content:"\\F269"}.fa-opera:before{content:"\\F26A"}.fa-internet-explorer:before{content:"\\F26B"}.fa-television:before,.fa-tv:before{content:"\\F26C"}.fa-contao:before{content:"\\F26D"}.fa-500px:before{content:"\\F26E"}.fa-amazon:before{content:"\\F270"}.fa-calendar-plus-o:before{content:"\\F271"}.fa-calendar-minus-o:before{content:"\\F272"}.fa-calendar-times-o:before{content:"\\F273"}.fa-calendar-check-o:before{content:"\\F274"}.fa-industry:before{content:"\\F275"}.fa-map-pin:before{content:"\\F276"}.fa-map-signs:before{content:"\\F277"}.fa-map-o:before{content:"\\F278"}.fa-map:before{content:"\\F279"}.fa-commenting:before{content:"\\F27A"}.fa-commenting-o:before{content:"\\F27B"}.fa-houzz:before{content:"\\F27C"}.fa-vimeo:before{content:"\\F27D"}.fa-black-tie:before{content:"\\F27E"}.fa-fonticons:before{content:"\\F280"}.fa-reddit-alien:before{content:"\\F281"}.fa-edge:before{content:"\\F282"}.fa-credit-card-alt:before{content:"\\F283"}.fa-codiepie:before{content:"\\F284"}.fa-modx:before{content:"\\F285"}.fa-fort-awesome:before{content:"\\F286"}.fa-usb:before{content:"\\F287"}.fa-product-hunt:before{content:"\\F288"}.fa-mixcloud:before{content:"\\F289"}.fa-scribd:before{content:"\\F28A"}.fa-pause-circle:before{content:"\\F28B"}.fa-pause-circle-o:before{content:"\\F28C"}.fa-stop-circle:before{content:"\\F28D"}.fa-stop-circle-o:before{content:"\\F28E"}.fa-shopping-bag:before{content:"\\F290"}.fa-shopping-basket:before{content:"\\F291"}.fa-hashtag:before{content:"\\F292"}.fa-bluetooth:before{content:"\\F293"}.fa-bluetooth-b:before{content:"\\F294"}.fa-percent:before{content:"\\F295"}.fa-gitlab:before{content:"\\F296"}.fa-wpbeginner:before{content:"\\F297"}.fa-wpforms:before{content:"\\F298"}.fa-envira:before{content:"\\F299"}.fa-universal-access:before{content:"\\F29A"}.fa-wheelchair-alt:before{content:"\\F29B"}.fa-question-circle-o:before{content:"\\F29C"}.fa-blind:before{content:"\\F29D"}.fa-audio-description:before{content:"\\F29E"}.fa-volume-control-phone:before{content:"\\F2A0"}.fa-braille:before{content:"\\F2A1"}.fa-assistive-listening-systems:before{content:"\\F2A2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\\F2A3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\\F2A4"}.fa-glide:before{content:"\\F2A5"}.fa-glide-g:before{content:"\\F2A6"}.fa-sign-language:before,.fa-signing:before{content:"\\F2A7"}.fa-low-vision:before{content:"\\F2A8"}.fa-viadeo:before{content:"\\F2A9"}.fa-viadeo-square:before{content:"\\F2AA"}.fa-snapchat:before{content:"\\F2AB"}.fa-snapchat-ghost:before{content:"\\F2AC"}.fa-snapchat-square:before{content:"\\F2AD"}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}@font-face{font-family:FontAwesome;src:url('+n(121)+");src:url("+n(122)+"?#iefix&v=4.6.1) format('embedded-opentype'),url("+n(123)+") format('woff2'),url("+n(124)+") format('woff'),url("+n(125)+") format('truetype'),url("+n(126)+'#fontawesomeregular) format(\'svg\');font-weight:400;font-style:normal}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}',""]); -},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t0&&t-1 in e}function s(e,t,n){if(le.isFunction(t))return le.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return le.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(ye.test(t))return le.filter(t,e,n);t=le.filter(t,e)}return le.grep(e,function(e){return re.call(t,e)>-1!==n})}function c(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function l(e){var t={};return le.each(e.match(xe)||[],function(e,n){t[n]=!0}),t}function u(){X.removeEventListener("DOMContentLoaded",u),n.removeEventListener("load",u),le.ready()}function h(){this.expando=le.expando+h.uid++}function d(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Te,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:Be.test(n)?le.parseJSON(n):n}catch(i){}De.set(e,t,n)}else n=void 0;return n}function p(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return le.css(e,t,"")},c=s(),l=n&&n[3]||(le.cssNumber[t]?"":"px"),u=(le.cssNumber[t]||"px"!==l&&+c)&&Oe.exec(le.css(e,t));if(u&&u[3]!==l){l=l||u[3],n=n||[],u=+c||1;do o=o||".5",u/=o,le.style(e,t,u+l);while(o!==(o=s()/c)&&1!==o&&--a)}return n&&(u=+u||+c||0,i=n[1]?u+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=u,r.end=i)),i}function f(e,t){var n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&le.nodeName(e,t)?le.merge([e],n):n}function g(e,t){for(var n=0,r=e.length;r>n;n++)Se.set(e[n],"globalEval",!t||Se.get(t[n],"globalEval"))}function m(e,t,n,r,i){for(var o,a,s,c,l,u,h=t.createDocumentFragment(),d=[],p=0,m=e.length;m>p;p++)if(o=e[p],o||0===o)if("object"===le.type(o))le.merge(d,o.nodeType?[o]:o);else if(ze.test(o)){for(a=a||h.appendChild(t.createElement("div")),s=(je.exec(o)||["",""])[1].toLowerCase(),c=Ne[s]||Ne._default,a.innerHTML=c[1]+le.htmlPrefilter(o)+c[2],u=c[0];u--;)a=a.lastChild;le.merge(d,a.childNodes),a=h.firstChild,a.textContent=""}else d.push(t.createTextNode(o));for(h.textContent="",p=0;o=d[p++];)if(r&&le.inArray(o,r)>-1)i&&i.push(o);else if(l=le.contains(o.ownerDocument,o),a=f(h.appendChild(o),"script"),l&&g(a),n)for(u=0;o=a[u++];)Pe.test(o.type||"")&&n.push(o);return h}function v(){return!0}function b(){return!1}function y(){try{return X.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=b;else if(!i)return e;return 1===o&&(a=i,i=function(e){return le().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=le.guid++)),e.each(function(){le.event.add(this,t,i,r,n)})}function _(e,t){return le.nodeName(e,"table")&&le.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function A(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function C(e){var t=Ge.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function k(e,t){var n,r,i,o,a,s,c,l;if(1===t.nodeType){if(Se.hasData(e)&&(o=Se.access(e),a=Se.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)le.event.add(t,i,l[i][n])}De.hasData(e)&&(s=De.access(e),c=le.extend({},s),De.set(t,c))}}function x(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Ie.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function E(e,t,n,r){t=te.apply([],t);var i,o,a,s,c,l,u=0,h=e.length,d=h-1,p=t[0],g=le.isFunction(p);if(g||h>1&&"string"==typeof p&&!se.checkClone&&Ke.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),E(o,t,n,r)});if(h&&(i=m(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(a=le.map(f(i,"script"),A),s=a.length;h>u;u++)c=i,u!==d&&(c=le.clone(c,!0,!0),s&&le.merge(a,f(c,"script"))),n.call(e[u],c,u);if(s)for(l=a[a.length-1].ownerDocument,le.map(a,C),u=0;s>u;u++)c=a[u],Pe.test(c.type||"")&&!Se.access(c,"globalEval")&&le.contains(l,c)&&(c.src?le._evalUrl&&le._evalUrl(c.src):le.globalEval(c.textContent.replace(Ye,"")))}return e}function F(e,t,n){for(var r,i=t?le.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||le.cleanData(f(r)),r.parentNode&&(n&&le.contains(r.ownerDocument,r)&&g(f(r,"script")),r.parentNode.removeChild(r));return e}function $(e,t){var n=le(t.createElement(e)).appendTo(t.body),r=le.css(n[0],"display");return n.detach(),r}function S(e){var t=X,n=Qe[e];return n||(n=$(e,t),"none"!==n&&n||(Je=(Je||le("