diff --git a/README.md b/README.md index 8357951..f609497 100644 --- a/README.md +++ b/README.md @@ -1 +1,98 @@ -# Naida test \ No newline at end of file +# Naida test +***Permissions API + +Permissions API implements a set of JSON end-points which allow other parts of a larger application to update and test user access (permissions) over a set of named objects. + +The API deals with: +- a set of Named OBJECTS whose access permissions are being controlled, +- a set of USERNAMES which might have different types of permissions. +- a set of GROUPS that those users may be part of, +- a set of PERMISSIONS which specific users or groups of users might have over specific objects. + +*API documentation + +Complete API documentation (created with Postman) can be found on public URL: https://documenter.getpostman.com/view/9085921/SW14TwCX?version=latest + +*Getting Started + +Instructions for running API on your local machine for develoment and testing purposes. + +*Prerequisited + +Pull project folder from GitLab to your local machine: https://gitlab.com/saburly/testovi/naida + +*Setting up database + +Install PostgreSQL from official site if needed: https://www.postgresql.org/download/ + +Navigate to project folder. Open terminal and run script for creating a database. Before runing script change user to postgres. + +$sudo su - postgres + +$chmod +x dbscript.sh +$sh dbscript.sh + +In file permissions.js change password for user postgres and local host if needed: + const db = knex ({ + client: 'pg', + connection: { + host : '127.0.0.1', + user : 'postgres', + password : '0904', + database : 'testdb' + } + }); + +*Installing dependencies + +Check that package.json has listed dependencies: + "dependencies": { + "body-parser": "^1.19.0", + "cors": "^2.8.5", + "express": "^4.17.1", + "express-validator": "^6.2.0", + "knex": "^0.20.0", + "pg": "^7.12.1", + "chai": "^4.1.2", + "chai-http": "4.2.1", + "mocha": "^5.2.0", + "mochawesome": "^3.0.2", + "supertest": "^3.1.0", + "tv4": "^1.3.0" + }, + "devDependencies": { + "nodemon": "^1.19.4" + } +In terminal navigate to project folder and run: +$npm install + +This should install all needed dependencies (node modules). + +*Start project + +To run API on your local machine open terminal, navigate to project folder and run: +$npm start + +API is running on default localport 3000, for testing and development purposes. + +*Running the test + +For conducting script test, run in terminal: +$npm test + +*Built With + + -Node.js, Express + -PostgreSQL + -Postman + -Mocha + +*Acknowledgments + +Special thanks to authors of these excelent articles and repositories: +-https://medium.com/@olotintemitope/how-to-generate-your-api-documentation-in-20-minutes-4e0072f08b94 +-https://dev.to/nedsoft/a-clean-approach-to-using-express-validator-8go +-https://medium.com/@shashiraja/convert-postman-api-tests-to-mocha-10705af6e37a +-https://medium.com/@svsh227/write-your-first-test-case-in-your-node-app-using-mocha-5250e614feb3 + + diff --git a/dbscript.sh b/dbscript.sh new file mode 100644 index 0000000..a3d3943 --- /dev/null +++ b/dbscript.sh @@ -0,0 +1,17 @@ +#!/bin/sh +psql -U postgres << END_OF_SCRIPT + +DROP DATABASE testdb; -- drop the DB if exists + +CREATE DATABASE testdb WITH OWNER = postgres; + +\c testdb + +-- Create tables of the DB + +CREATE TABLE objects (id serial PRIMARY KEY, objname varchar (100) UNIQUE NOT NULL); +CREATE TABLE users (id serial PRIMARY KEY, username varchar (100) UNIQUE NOT NULL); +CREATE TABLE groups (id serial PRIMARY KEY, groupname varchar(100) NOT NULL, username varchar (100)); +CREATE TABLE permissions (id serial PRIMARY KEY, ownertype varchar(100) NOT NULL, owner varchar(100) NOT NULL, objname varchar (100) NOT NULL, type varchar(100) NOT NULL); + +END_OF_SCRIPT \ No newline at end of file diff --git a/mochawesome-report/assets/MaterialIcons-Regular.woff b/mochawesome-report/assets/MaterialIcons-Regular.woff new file mode 100644 index 0000000..b648a3e Binary files /dev/null and b/mochawesome-report/assets/MaterialIcons-Regular.woff differ diff --git a/mochawesome-report/assets/MaterialIcons-Regular.woff2 b/mochawesome-report/assets/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000..9fa2112 Binary files /dev/null and b/mochawesome-report/assets/MaterialIcons-Regular.woff2 differ diff --git a/mochawesome-report/assets/app.css b/mochawesome-report/assets/app.css new file mode 100644 index 0000000..eff737a --- /dev/null +++ b/mochawesome-report/assets/app.css @@ -0,0 +1,2 @@ +/*! mochawesome-report-generator 3.1.5 | https://github.com/adamgruber/mochawesome-report-generator */ +.dropdown--trans-color---1Doo5{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dropdown--component---1O_IS{position:relative}.dropdown--toggle---2OiUh{white-space:nowrap}.dropdown--toggle-icon---Ij4DQ:not(.dropdown--icon-only---nPCcG){margin-left:.5rem}.dropdown--list---3ne5a{padding:0;margin:0;list-style:none;text-align:left}.dropdown--list-main---3t_YO{position:absolute;top:100%;z-index:1000;visibility:hidden;min-width:160px;overflow:auto}.dropdown--align-left---LkJmZ{left:0}.dropdown--align-right---2_umy{right:0}.dropdown--list-item-link---1yuLI,.dropdown--list-item-text---3-kVV{display:block;position:relative;white-space:nowrap;text-decoration:none}.dropdown--list-item-text---3-kVV{cursor:default}@-webkit-keyframes dropdown--in---2aDte{0%{opacity:0}to{opacity:1}}@keyframes dropdown--in---2aDte{0%{opacity:0}to{opacity:1}}@-webkit-keyframes dropdown--out---3UPSW{0%{opacity:1;visibility:visible}to{opacity:0}}@keyframes dropdown--out---3UPSW{0%{opacity:1;visibility:visible}to{opacity:0}}.dropdown--close---33eUt{-webkit-animation:dropdown--out---3UPSW .2s ease;animation:dropdown--out---3UPSW .2s ease;visibility:hidden}.dropdown--open---2-EkP{-webkit-animation:dropdown--in---2aDte .2s ease;animation:dropdown--in---2aDte .2s ease;visibility:visible}.dropdown-selector--trans-color---3TMLs{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dropdown-selector--dropdown---1vo6w{right:-8px}.dropdown-selector--menu---3taJj{font-family:robotolight;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);min-width:70px;width:70px;background:#fff;top:0}.dropdown-selector--toggle---3x8A0{font-family:robotoregular;display:inline-block;font-size:14px;color:rgba(0,0,0,.54);vertical-align:top;line-height:24px;padding:0 22px 0 0;cursor:pointer;border:none;background:none;outline:none;width:70px}.dropdown-selector--toggle-icon---2t_gM{position:absolute;top:4px;right:4px;color:rgba(0,0,0,.38)}.dropdown-selector--item-link---2IQRl{color:rgba(0,0,0,.38);padding:4px 10px}.dropdown-selector--item-link---2IQRl:hover{background-color:#f5f5f5;text-decoration:none}.dropdown-selector--item-selected---2pSdW .dropdown-selector--item-link---2IQRl{color:#4caf50}.footer--trans-color---3btBs{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.footer--component---3Cile{position:absolute;bottom:0;width:100%;height:60px;color:rgba(0,0,0,.38);text-align:center}.footer--component---3Cile p{font-size:12px;margin:10px 0}.footer--component---3Cile a{-webkit-transition:color .2s ease-out;transition:color .2s ease-out;color:rgba(0,0,0,.54)}.footer--component---3Cile a:hover{color:rgba(0,0,0,.87)}.loader--trans-color---Zkzdo{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.loader--component---17olg{position:fixed;top:0;height:100%;width:100%;background-color:hsla(0,0%,95%,.6);padding-top:122px}.loader--wrap---2t76o{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:200px}.loader--text---JYvPp{color:#757575;text-align:center;margin:1rem 0 0}.loader--spinner---VkfxD{border-radius:50%;width:42px;height:42px;border:.25rem solid #bababa;border-top-color:#545454;-webkit-animation:loader--spin---3wr9P 1s infinite linear;animation:loader--spin---3wr9P 1s infinite linear}@-webkit-keyframes loader--spin---3wr9P{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader--spin---3wr9P{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@media (min-width:768px){.loader--component---17olg{padding-top:56px}}.nav-menu--trans-color---CqiCw{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.nav-menu--wrap---3TYi4{position:fixed;z-index:2010;top:0;right:0;bottom:0;left:0;overflow:hidden;visibility:hidden}.nav-menu--overlay---x9e9H{display:none;background:rgba(0,0,0,.5)}.nav-menu--close-btn---2gn2i{border:none;background:transparent;padding:0}.nav-menu--close-btn---2gn2i:focus{outline:none}.nav-menu--close-btn---2gn2i{-webkit-transition:color .2s ease-out;transition:color .2s ease-out;cursor:pointer;position:absolute;top:16px;right:16px;color:rgba(0,0,0,.54)}.nav-menu--close-btn---2gn2i:active,.nav-menu--close-btn---2gn2i:hover{color:rgba(0,0,0,.87)}.nav-menu--menu---3bcTD{position:absolute;-webkit-transition:all .15s cubic-bezier(.25,1,.8,1);transition:all .15s cubic-bezier(.25,1,.8,1);-webkit-transform:translate(-100%);transform:translate(-100%);width:100%;z-index:1;top:0;bottom:0;left:0;overflow:auto;background:#fff}.nav-menu--close-button---1zuAz{border:none;background:transparent;padding:0}.nav-menu--close-button---1zuAz:focus{outline:none}.nav-menu--close-button---1zuAz{-webkit-transition:color .2s ease-out;transition:color .2s ease-out;cursor:pointer;position:absolute;top:14px;right:14px;font-size:21px;width:26px;height:26px;color:#545454}.nav-menu--close-button---1zuAz:hover{color:#333}.nav-menu--date---22EVu{color:rgba(0,0,0,.54)}.nav-menu--section-head---1OPT4{text-transform:uppercase;color:rgba(0,0,0,.54)}.nav-menu--control---188iM{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;margin:8px 0;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.nav-menu--control-label---1wX7o{font-family:robotoregular;display:inline-block;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-size:13px;vertical-align:top;line-height:24px}.nav-menu--control-label---1wX7o.nav-menu--with-icon---1EO0Y{margin-left:12px}.nav-menu--control-group---1Koms{margin-bottom:10px}.nav-menu--toggle-icon-passed---3dASH{color:#4caf50}.nav-menu--toggle-icon-failed---36wnk{color:#f44336}.nav-menu--toggle-icon-pending---IvVbf{color:#03a9f4}.nav-menu--toggle-icon-skipped---1rFb1{color:#9e9e9e}.nav-menu--wrap---3TYi4.nav-menu--open---2MuoM{visibility:visible}.nav-menu--wrap---3TYi4.nav-menu--open---2MuoM .nav-menu--overlay---x9e9H{opacity:1}.nav-menu--wrap---3TYi4.nav-menu--open---2MuoM .nav-menu--menu---3bcTD{-webkit-transform:translate(0);transform:translate(0)}.nav-menu--section---14er0{padding:0 16px;border-bottom:1px solid #e0e0e0}.nav-menu--list---1o0U1{list-style:none;padding-left:0}.nav-menu--main---3ivly{margin:8px 0}.nav-menu--no-tests---1-81i>.nav-menu--item---3Bj7T:not(.nav-menu--has-tests---1oUxJ)>div>.nav-menu--sub---3iKtW{padding-left:0}.nav-menu--no-tests---1-81i>.nav-menu--item---3Bj7T:not(.nav-menu--has-tests---1oUxJ):not(:only-child){padding-left:22px}.nav-menu--sub---3iKtW{padding-left:24px;margin:0 0 2px}.nav-menu--link---2CyNp{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 0;color:#545454}.nav-menu--link---2CyNp:hover{color:#356fa2;text-decoration:none}.nav-menu--link---2CyNp:active,.nav-menu--link---2CyNp:focus{outline:none;text-decoration:none}.nav-menu--link---2CyNp span{-webkit-transition:color .2s ease-out;transition:color .2s ease-out;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-menu--link-icon---3kyRL{margin-right:2px}.nav-menu--link-icon---3kyRL.nav-menu--pass---rx63y{color:#4caf50}.nav-menu--link-icon---3kyRL.nav-menu--fail---1pTTl{color:#f44336}.nav-menu--link-icon---3kyRL.nav-menu--pending---M817x{color:#03a9f4}.nav-menu--link-icon---3kyRL.nav-menu--skipped---kyvdT{color:#9e9e9e}.nav-menu--disabled---3StFR{opacity:.3;pointer-events:none}@media (min-width:768px){.nav-menu--menu---3bcTD{width:320px;left:auto}.nav-menu--overlay---x9e9H{display:block;position:fixed;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;top:0;right:0;bottom:0;left:0;cursor:pointer;opacity:0}.nav-menu--close-btn---2gn2i{display:none}}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}.trans-color{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:400;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#757575}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}ol,ul{margin-top:0;margin-bottom:10px;ol,ul{margin-bottom:0}}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}code{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83}.hljs-comment,.hljs-quote{color:#93a1a1}.hljs-addition,.hljs-keyword,.hljs-selector-tag{color:#859900}.hljs-doctag,.hljs-literal,.hljs-meta .hljs-meta-string,.hljs-number,.hljs-regexp,.hljs-string{color:#2aa198}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:#268bd2}.hljs-attr,.hljs-attribute,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:#b58900}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol{color:#cb4b16}.hljs-built_in,.hljs-deletion{color:#dc322f}.hljs-formula{background:#eee8d5}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-ms-flexbox;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end}.ct-label.ct-horizontal.ct-end,.ct-label.ct-horizontal.ct-start{-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left}.ct-chart-bar .ct-label.ct-horizontal.ct-start,.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end,.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{content:"";display:table;clear:both}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{content:"";display:table;clear:both}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{content:"";display:table;clear:both}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{content:"";display:table;clear:both}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{content:"";display:table;clear:both}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{content:"";display:table;clear:both}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{content:"";display:table;clear:both}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{content:"";display:table;clear:both}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{content:"";display:table;clear:both}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{content:"";display:table;clear:both}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{content:"";display:table;clear:both}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{content:"";display:table;clear:both}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{content:"";display:table;clear:both}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{content:"";display:table;clear:both}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{content:"";display:table;clear:both}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{content:"";display:table;clear:both}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{content:"";display:table;clear:both}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}@font-face{font-family:robotolight;src:url(roboto-light-webfont.woff2) format("woff2"),url(roboto-light-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:robotomedium;src:url(roboto-medium-webfont.woff2) format("woff2"),url(roboto-medium-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:robotoregular;src:url(roboto-regular-webfont.woff2) format("woff2"),url(roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(MaterialIcons-Regular.woff2) format("woff2"),url(MaterialIcons-Regular.woff) format("woff")}.material-icons{display:inline-block;font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.material-icons.md-dark{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:hsla(0,0%,100%,.3)}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{position:relative;min-height:100%}body{font-family:robotoregular,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.429;color:rgba(0,0,0,.87);background-color:#f2f2f2;margin-bottom:60px}a{-webkit-transition:color .2s ease-out;transition:color .2s ease-out;text-decoration:none}a:hover{text-decoration:underline}pre{word-break:break-all;word-wrap:break-word;border-radius:4px}.cf:before,.clearfix:before{content:" ";display:table}.cf:after,.clearfix:after{content:" ";display:table;clear:both}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.details{padding-top:146px}.z-depth-0{-webkit-box-shadow:none!important;box-shadow:none!important}.z-depth-1{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.z-depth-1-half{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15)}.z-depth-2{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.z-depth-3{-webkit-box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19);box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19)}.z-depth-4{-webkit-box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21);box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21)}.z-depth-5{-webkit-box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22);box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22)}@media (min-width:768px){.container{width:750px}.details{padding-top:80px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.navbar--trans-color---16xYm{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.navbar--component---2ZZWk:before{content:" ";display:table}.navbar--component---2ZZWk:after{content:" ";display:table;clear:both}.navbar--component---2ZZWk{display:-webkit-box;display:-ms-flexbox;display:flex;position:fixed;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;top:0;right:0;left:0;z-index:1030;min-height:122px;height:122px;margin-bottom:0;border:none;background:#37474f}.navbar--report-info-cnt---3YmqH{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;padding-right:12px}.navbar--menu-button---2yldF{border:none;background:transparent;padding:0}.navbar--menu-button---2yldF:focus{outline:none}.navbar--menu-button---2yldF{-webkit-transition:color .2s ease-out;transition:color .2s ease-out;cursor:pointer;padding:16px 12px;height:24px;color:hsla(0,0%,100%,.5)}.navbar--menu-button---2yldF:hover{color:#fff}.navbar--report-title---2yl5e{font-family:robotolight;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:#fff;font-size:18px;line-height:52px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar--pct-bar---1gzOu:before{content:" ";display:table}.navbar--pct-bar---1gzOu:after{content:" ";display:table;clear:both}.navbar--pct-bar---1gzOu{display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;left:0;right:0;bottom:0;height:4px}.navbar--pct-bar---1gzOu .navbar--pass---2A0P1{background-color:#4caf50}.navbar--pct-bar---1gzOu .navbar--fail---2K0uE{background-color:#f44336}.navbar--pct-bar---1gzOu .navbar--pend---XD2wP{background-color:#03a9f4}.navbar--pct-bar-segment---3SKvk{height:4px}@media (min-width:768px){.navbar--component---2ZZWk{min-height:56px;height:56px;-webkit-box-orient:initial;-webkit-box-direction:initial;-ms-flex-direction:initial;flex-direction:row}.navbar--report-info-cnt---3YmqH{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.navbar--menu-button---2yldF{padding:16px 24px}}.quick-summary--trans-color---2fCHT{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.quick-summary--cnt---3kT_l{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0 12px}.quick-summary--list---2_SZk:before{content:" ";display:table}.quick-summary--list---2_SZk:after{content:" ";display:table;clear:both}.quick-summary--list---2_SZk{list-style:none;padding-left:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out;margin:0 0 8px}.quick-summary--item---nDp-P{font-family:robotolight;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;color:#fff;font-size:16px;-ms-flex-preferred-size:25%;flex-basis:25%}.quick-summary--item---nDp-P.quick-summary--tests---2syn-{color:#fff}.quick-summary--item---nDp-P.quick-summary--passes---2Fagi .quick-summary--icon---9M3YY{color:#388e3c;background-color:#c8e6c9}.quick-summary--item---nDp-P.quick-summary--failures---22u6g .quick-summary--icon---9M3YY{color:#d32f2f;background-color:#ffcdd2}.quick-summary--item---nDp-P.quick-summary--pending---1v4jC .quick-summary--icon---9M3YY{color:#0288d1;background-color:#b3e5fc}.quick-summary--item---nDp-P.quick-summary--skipped---2KF8x .quick-summary--icon---9M3YY{color:#616161;background-color:#f5f5f5}.quick-summary--icon---9M3YY{position:relative;top:2px;font-size:18px;margin-right:4px}.quick-summary--circle-icon---Ampym{font-size:12px;border-radius:50%;padding:3px}@media (min-width:768px){.quick-summary--cnt---3kT_l{-webkit-box-orient:initial;-webkit-box-direction:initial;-ms-flex-direction:initial;flex-direction:row;padding:14px 12px 0 0}.quick-summary--list---2_SZk{margin:0}.quick-summary--item---nDp-P{font-size:18px;-ms-flex-preferred-size:initial;flex-basis:auto;margin:0 12px}.quick-summary--icon---9M3YY{font-size:24px;width:24px;top:0}.quick-summary--circle-icon---Ampym{font-size:18px}}.radio-button--trans-color---_cmVV{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.radio-button--component---L3BPT:before{content:" ";display:table}.radio-button--component---L3BPT:after{content:" ";display:table;clear:both}.radio-button--component---L3BPT{position:relative;height:24px}.radio-button--outer---2zyHw{position:absolute;top:50%;right:0;margin-top:-9px;width:18px;height:18px;border:2px solid #4caf50;border-radius:12px;cursor:pointer;-webkit-transition:border-color .2s ease-out;transition:border-color .2s ease-out}.radio-button--off---1CSJl{border-color:#bababa}.radio-button--inner---1fRUr{display:block;position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:100%;background-color:#4caf50}.radio-button--off---1CSJl .radio-button--inner---1fRUr{background-color:#fff;-webkit-transform:scale(0);transform:scale(0)}.radio-button--inner---1fRUr{-webkit-transition:all .15s cubic-bezier(.23,1,.32,1);transition:all .15s cubic-bezier(.23,1,.32,1)}.test--trans-color---2rBBB{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.test--component---RMLbQ{border-bottom:1px solid #e0e0e0;border-left:3px solid transparent}.test--component---RMLbQ:hover:not(.test--inactive---19hBp){border-left-color:#9e9e9e}.test--component---RMLbQ.test--expanded---1lye7.test--passed---1IkMe,.test--component---RMLbQ.test--expanded---1lye7.test--passed---1IkMe:hover{border-left-color:#4caf50}.test--component---RMLbQ.test--expanded---1lye7.test--failed---3MZ5g,.test--component---RMLbQ.test--expanded---1lye7.test--failed---3MZ5g:hover{border-left-color:#f44336}.test--component---RMLbQ{-webkit-transition:border-color .2s ease-out;transition:border-color .2s ease-out}.test--header---186ZB:before{content:" ";display:table}.test--header---186ZB:after{content:" ";display:table;clear:both}.test--header---186ZB{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;padding:10px 0;margin:0 16px 0 13px}.test--component---RMLbQ:not(.test--inactive---19hBp) .test--header---186ZB{cursor:pointer}.test--title---278p8{font-family:robotoregular;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-size:13px;line-height:24px;margin:0;padding-right:12px}.test--hook---16jQM .test--title---278p8{color:rgba(0,0,0,.54)}.test--expanded---1lye7 .test--title---278p8{line-height:1.5;padding-top:3px;white-space:normal}.test--icon---3-EYW{-ms-flex-item-align:start;align-self:flex-start;padding:3px;border-radius:50%;color:#fff;margin-right:16px}.test--icon---3-EYW.test--pass---3BGXV{color:#c8e6c9;background-color:#4caf50}.test--icon---3-EYW.test--fail---2MHvz{color:#ffcdd2;background-color:#f44336}.test--icon---3-EYW.test--pending---hF4ge{color:#b3e5fc;background-color:#03a9f4}.test--icon---3-EYW.test--skipped---za-eR{color:#f5f5f5;background-color:#9e9e9e}.test--icon---3-EYW.test--hook---16jQM{color:rgba(0,0,0,.38);padding:0}.test--failed---3MZ5g .test--icon---3-EYW.test--hook---16jQM{color:#f44336}.test--info---1upSW{display:-webkit-box;display:-ms-flexbox;display:flex}.test--duration---16Zhh{font-family:robotoregular;line-height:24px;color:rgba(0,0,0,.54)}.test--component---RMLbQ:hover:not(.test--pending---hF4ge) .test--duration---16Zhh,.test--expanded---1lye7 .test--duration---16Zhh{color:rgba(0,0,0,.87)}.test--duration---16Zhh{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.test--duration-icon---2Bpxk{margin-left:4px;line-height:24px!important;color:rgba(0,0,0,.38)}.test--duration-icon---2Bpxk.test--slow---1bCc_{color:#e57373}.test--duration-icon---2Bpxk.test--medium---ro2ZF{color:#fbc02d}.test--context-icon---37tDh{position:relative;line-height:24px!important;color:rgba(0,0,0,.38);margin-right:8px;top:1px}.test--body---1Ytwa{display:none;background-color:#eceff1;border:1px solid #eceff1;border-radius:4px}.test--expanded---1lye7 .test--body---1Ytwa{display:block;margin:0 16px 10px 13px}.test--error-message---3rcCT{font-size:12px;margin:0 16px 10px 13px;color:#f44336}.test--code-snippet---anpV7{position:relative;font-size:11px;margin:0;border-radius:0}.test--code-snippet---anpV7+.test--code-snippet---anpV7{border-top:1px solid #fff}.test--code-snippet---anpV7.hljs{padding:1em;background:none}.test--code-diff---1kZqQ code>span:first-child{margin-right:11px}.test--code-diff-expected---1BPHF span{color:#859900}.test--inline-diff---CwxfS .test--code-diff-expected---1BPHF{background-color:#859900;color:#fff}.test--code-diff-actual---3wGdL span{color:#dc322f}.test--inline-diff---CwxfS .test--code-diff-actual---3wGdL{background-color:#dc322f;color:#fff}.test--code-label---2vPev{font-family:robotoregular;position:absolute;top:0;right:0;padding:.2em .6em;background-color:#9e9e9e;color:#fff}.test--context---3qxA5{background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.test--context-title---o3dhY{font-family:robotoregular;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:rgba(0,0,0,.54);margin:0;padding:11px 11px 0}.test--context-item---1KiHc{padding-top:11px}.test--context-item---1KiHc .test--code-snippet---anpV7{padding-top:0}.test--context-item-title---1sgNL{font-family:robotomedium;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;margin:0;padding:0 11px 11px}.test--text-link---12Y5J{display:inline-block;padding:0 1em 1em;font-size:11px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;color:#0288d1}.test--text-link---12Y5J:hover{color:#03a9f4}.test--image-link---1Jyxo,.test--video-link---2ch33{display:inline-block;font-size:11px;padding:0 1em 1em}.test--image---14voK,.test--video---2piLj{display:block;max-width:100%;height:auto}.suite--trans-color---1yXp5{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.suite--component---1WFoy:before{content:" ";display:table}.suite--component---1WFoy:after{content:" ";display:table;clear:both}.suite--component---1WFoy{position:relative;background-color:#fff;margin-bottom:20px}.suite--component---1WFoy>.suite--body---2Ql-3>div>.suite--component---1WFoy{border:1px solid #e0e0e0;border-right:none;border-bottom:none;margin:16px 0 16px 16px}.suite--component---1WFoy>.suite--body---2Ql-3>div>.suite--component---1WFoy.suite--no-tests---3Ag3e{border-bottom:1px solid #e0e0e0}.suite--list-main---39CaH>.suite--component---1WFoy,.suite--root-suite---2LS9i{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);margin:0 0 24px}.suite--list-main---39CaH>.suite--no-tests---3Ag3e>.suite--body---2Ql-3>div>.suite--component---1WFoy:not(.suite--no-suites---2EVhf){border-bottom:1px solid #e0e0e0}.suite--header---3CWtn:before{content:" ";display:table}.suite--header---3CWtn:after{content:" ";display:table;clear:both}.suite--header---3CWtn{padding:12px 16px;border-bottom:1px solid #e0e0e0}.suite--no-tests---3Ag3e>.suite--header---3CWtn{padding-bottom:0;border-bottom:none}.suite--title---CsLhu{font-family:robotolight;margin:0}.suite--filename---3LR5s{font-family:robotoregular;color:rgba(0,0,0,.54);margin:6px 0 0}.suite--body---2Ql-3:before{content:" ";display:table}.suite--body---2Ql-3:after{content:" ";display:table;clear:both}.suite--has-suites---2bqoB>.suite--body---2Ql-3{border-bottom:1px solid #e0e0e0}.suite--chart-wrap---3aAZY{display:none;position:absolute;top:12px;right:12px;width:50px;height:50px}.suite--chart-slice---1EQ6h{stroke:#fff;stroke-width:2px}.ct-series-a .suite--chart-slice---1EQ6h{fill:#4caf50}.ct-series-b .suite--chart-slice---1EQ6h{fill:#f44336}.ct-series-c .suite--chart-slice---1EQ6h{fill:#03a9f4}.ct-series-d .suite--chart-slice---1EQ6h{fill:rgba(0,0,0,.38)}@media (min-width:768px){.suite--chart-wrap---3aAZY{display:block}.suite--chart-enabled---23t51:not(.suite--no-tests---3Ag3e) .suite--header---3CWtn{min-height:74px}}.suite-summary--trans-color---1sRft{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.suite-summary--component---1-m65:before{content:" ";display:table}.suite-summary--component---1-m65:after{content:" ";display:table;clear:both}.suite-summary--component---1-m65{font-family:robotoregular;list-style:none;padding-left:0;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:15px;margin:16px 0 0}.suite-summary--component---1-m65.suite-summary--no-margin---3S2aT{margin:0}.suite-summary--summary-item---eDFZD{display:-webkit-box;display:-ms-flexbox;display:flex;line-height:18px;margin:0 8px;color:rgba(0,0,0,.54)}.suite-summary--summary-item---eDFZD:first-child{margin-left:0}.suite-summary--summary-item---eDFZD.suite-summary--duration---1c853,.suite-summary--summary-item---eDFZD.suite-summary--tests---DvmS6{color:rgba(0,0,0,.54)}.suite-summary--summary-item---eDFZD.suite-summary--passed---171Lb{color:#4caf50}.suite-summary--summary-item---eDFZD.suite-summary--failed---3NDrR{color:#f44336}.suite-summary--summary-item---eDFZD.suite-summary--pending---14ai0{color:#03a9f4}.suite-summary--summary-item---eDFZD.suite-summary--skipped---2nO-N{color:rgba(0,0,0,.38)}.suite-summary--icon---2dVpU{margin-right:2px}.toggle-switch--trans-color---3-D_o{-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.toggle-switch--component---158tn:before{content:" ";display:table}.toggle-switch--component---158tn:after{content:" ";display:table;clear:both}.toggle-switch--component---158tn{height:24px}.toggle-switch--switch---1ZUoN{position:relative;width:32px;height:12px;border-radius:12px;background-color:#a5d6a7;cursor:pointer;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.toggle-switch--off---33vO8{background-color:#bababa}.toggle-switch--toggle---2v8cH{display:block;position:absolute;top:-3px;right:-3px;width:18px;height:18px;border-radius:100%;background-color:#4caf50}.toggle-switch--off---33vO8 .toggle-switch--toggle---2v8cH{background-color:#fff;-webkit-transform:translateX(-20px);transform:translateX(-20px)}.toggle-switch--toggle---2v8cH{-webkit-transition:all .15s cubic-bezier(.23,1,.32,1);transition:all .15s cubic-bezier(.23,1,.32,1)}.toggle-switch--disabled---1qI0n{opacity:.5}.toggle-switch--disabled---1qI0n .toggle-switch--switch---1ZUoN{cursor:default;background-color:#e0e0e0}.toggle-switch--disabled---1qI0n .toggle-switch--icon---L6qc4{color:rgba(0,0,0,.38)}.toggle-switch--disabled---1qI0n .toggle-switch--toggle---2v8cH{background-color:#f5f5f5} \ No newline at end of file diff --git a/mochawesome-report/assets/app.js b/mochawesome-report/assets/app.js new file mode 100644 index 0000000..d5e9466 --- /dev/null +++ b/mochawesome-report/assets/app.js @@ -0,0 +1 @@ +/*! mochawesome-report-generator 3.1.5 | https://github.com/adamgruber/mochawesome-report-generator */!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=118)}([function(e,t,n){var r=n(203),o=n(49),a=36e5,i=6e4,s=2,u=/[T ]/,l=/:/,c=/^(\d{2})$/,f=[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],d=/^(\d{4})/,p=[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],h=/^-(\d{2})$/,m=/^-?(\d{3})$/,v=/^-?(\d{2})-?(\d{2})$/,g=/^-?W(\d{2})$/,b=/^-?W(\d{2})-?(\d{1})$/,y=/^(\d{2}([.,]\d*)?)$/,_=/^(\d{2}):?(\d{2}([.,]\d*)?)$/,x=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,w=/([Z+-].*)$/,k=/^(Z)$/,E=/^([+-])(\d{2})$/,O=/^([+-])(\d{2}):?(\d{2})$/;function S(e,t,n){t=t||0,n=n||0;var r=new Date(0);r.setUTCFullYear(e,0,4);var o=7*t+n+1-(r.getUTCDay()||7);return r.setUTCDate(r.getUTCDate()+o),r}e.exports=function(e,t){if(o(e))return new Date(e.getTime());if("string"!=typeof e)return new Date(e);var n=(t||{}).additionalDigits;n=null==n?s:Number(n);var T=function(e){var t,n={},r=e.split(u);if(l.test(r[0])?(n.date=null,t=r[0]):(n.date=r[0],t=r[1]),t){var o=w.exec(t);o?(n.time=t.replace(o[1],""),n.timezone=o[1]):n.time=t}return n}(e),C=function(e,t){var n,r=f[t],o=p[t];if(n=d.exec(e)||o.exec(e)){var a=n[1];return{year:parseInt(a,10),restDateString:e.slice(a.length)}}if(n=c.exec(e)||r.exec(e)){var i=n[1];return{year:100*parseInt(i,10),restDateString:e.slice(i.length)}}return{year:null}}(T.date,n),N=C.year,P=function(e,t){if(null===t)return null;var n,r,o,a;if(0===e.length)return(r=new Date(0)).setUTCFullYear(t),r;if(n=h.exec(e))return r=new Date(0),o=parseInt(n[1],10)-1,r.setUTCFullYear(t,o),r;if(n=m.exec(e)){r=new Date(0);var i=parseInt(n[1],10);return r.setUTCFullYear(t,0,i),r}if(n=v.exec(e)){r=new Date(0),o=parseInt(n[1],10)-1;var s=parseInt(n[2],10);return r.setUTCFullYear(t,o,s),r}if(n=g.exec(e))return a=parseInt(n[1],10)-1,S(t,a);if(n=b.exec(e)){a=parseInt(n[1],10)-1;var u=parseInt(n[2],10)-1;return S(t,a,u)}return null}(C.restDateString,N);if(P){var M,j=P.getTime(),D=0;if(T.time&&(D=function(e){var t,n,r;if(t=y.exec(e))return(n=parseFloat(t[1].replace(",",".")))%24*a;if(t=_.exec(e))return n=parseInt(t[1],10),r=parseFloat(t[2].replace(",",".")),n%24*a+r*i;if(t=x.exec(e)){n=parseInt(t[1],10),r=parseInt(t[2],10);var o=parseFloat(t[3].replace(",","."));return n%24*a+r*i+1e3*o}return null}(T.time)),T.timezone)z=T.timezone,M=((F=k.exec(z))?0:(F=E.exec(z))?(U=60*parseInt(F[2],10),"+"===F[1]?-U:U):(F=O.exec(z))?(U=60*parseInt(F[2],10)+parseInt(F[3],10),"+"===F[1]?-U:U):0)*i;else{var A=j+D,I=new Date(A);M=r(I);var R=new Date(A);R.setDate(I.getDate()+1);var L=r(R)-r(I);L>0&&(M+=L)}return new Date(j+D+M)}var z,F,U;return new Date(e)}},function(e,t,n){"use strict";e.exports=n(119)},function(e,t,n){e.exports=n(124)()},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=i.getTime()?n+1:t.getTime()>=u.getTime()?n:n-1}},function(e,t,n){var r=n(28);e.exports=function(e){return r(e,{weekStartsOn:1})}},function(e,t,n){var r=n(0);e.exports=function(e){var t=r(e);return t.setHours(0,0,0,0),t}},function(e,t,n){var r=n(20),o=n(126),a=n(127),i="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:i:u&&u in Object(e)?o(e):a(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var r=n(134),o=n(137);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){var r=n(40);e.exports=function(e,t){return r(e,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(201);Object.defineProperty(t,"NavMenu",{enumerable:!0,get:function(){return i(r).default}});var o=n(323);Object.defineProperty(t,"NavMenuList",{enumerable:!0,get:function(){return i(o).default}});var a=n(324);function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"NavMenuItem",{enumerable:!0,get:function(){return i(a).default}})},function(e,t,n){var r=n(0);e.exports=function(e,t){var n=r(e),o=Number(t);return n.setDate(n.getDate()+o),n}},function(e,t,n){var r=n(0);e.exports=function(e,t){var n=r(e).getTime(),o=Number(t);return new Date(n+o)}},function(e,t,n){var r=n(7),o=n(8);e.exports=function(e){var t=r(e),n=new Date(0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),o(n)}},function(e,t,n){var r=n(0);e.exports=function(e,t){var n=r(e).getTime(),o=r(t).getTime();return no?1:0}},function(e,t,n){var r=n(10),o=n(11),a="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==a}},function(e,t,n){var r=n(6).Symbol;e.exports=r},function(e,t,n){var r=n(12)(Object,"create");e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var r=n(142),o=n(143),a=n(144),i=n(145),s=n(146);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t6?u-6:0),c=6;c>",s=s||o,null==n[o]){if(t){var r=null===n[o]?"null":"undefined";return new Error("The "+i+" `"+s+"` is marked as required in `"+a+"`, but its value is `"+r+"`.")}return null}return e.apply(void 0,[n,o,a,i,s].concat(l))})}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function k(e){var t=void 0===e?"undefined":s(e);return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol}(t,e)?"symbol":t}function E(e,t){return w(function(n,o,a,i,s){return Object(r.untracked)(function(){if(e&&k(n[o])===t.toLowerCase())return null;var i=void 0;switch(t){case"Array":i=r.isObservableArray;break;case"Object":i=r.isObservableObject;break;case"Map":i=r.isObservableMap;break;default:throw new Error("Unexpected mobxType: "+t)}var u=n[o];if(!i(u)){var l=function(e){var t=k(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}(u),c=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+l+"` supplied to `"+a+"`, expected `mobx.Observable"+t+"`"+c+".")}return null})})}function O(e,t){return w(function(n,o,a,i,s){for(var u=arguments.length,l=Array(u>5?u-5:0),c=5;c2&&void 0!==arguments[2]&&arguments[2],r=e[t],o=Q[t],a=r?!0===n?function(){o.apply(this,arguments),r.apply(this,arguments)}:function(){r.apply(this,arguments),o.apply(this,arguments)}:o;e[t]=a}function X(e,t){if(K(e,t))return!0;if("object"!==(void 0===e?"undefined":s(e))||null===e||"object"!==(void 0===t?"undefined":s(t))||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o",n=this._reactInternalInstance&&this._reactInternalInstance._rootNodeID||this._reactInternalFiber&&this._reactInternalFiber._debugID,a=!1,i=!1;f.call(this,"props"),f.call(this,"state");var s=this.render.bind(this),u=null,l=!1,c=function(){l=!1;var t=void 0,n=void 0;if(u.track(function(){z&&(e.__$mobRenderStart=Date.now());try{n=r.extras.allowStateChanges(!1,s)}catch(e){t=e}z&&(e.__$mobRenderEnd=Date.now())}),t)throw q.emit(t),t;return n};this.render=function(){return(u=new r.Reaction(t+"#"+n+".render()",function(){if(!l&&(l=!0,"function"==typeof e.componentWillReact&&e.componentWillReact(),!0!==e.__$mobxIsUnmounted)){var t=!0;try{i=!0,a||o.Component.prototype.forceUpdate.call(e),t=!1}finally{i=!1,t&&u.dispose()}}})).reactComponent=e,c.$mobx=u,e.render=c,c()}}function f(e){var t=this[e],n=new r.Atom("reactive "+e);Object.defineProperty(this,e,{configurable:!0,enumerable:!0,get:function(){return n.reportObserved(),t},set:function(e){i||X(t,e)?t=e:(t=e,a=!0,n.reportChanged(),a=!1)}})}},componentWillUnmount:function(){if(!0!==F&&(this.render.$mobx&&this.render.$mobx.dispose(),this.__$mobxIsUnmounted=!0,z)){var e=V(this);e&&B&&B.delete(e),H.emit({event:"destroy",component:this,node:e})}},componentDidMount:function(){z&&Y(this)},componentDidUpdate:function(){z&&Y(this)},shouldComponentUpdate:function(e,t){return F&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==t||!X(this.props,e)}};function Z(e,t){if("string"==typeof e)throw new Error("Store names should be provided as array");if(Array.isArray(e))return U||(U=!0,console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject("store1", "store2") @observer ComponentClass` or `inject("store1", "store2")(observer(componentClass))` instead of `@observer(["store1", "store2"]) ComponentClass`')),t?L.apply(null,e)(Z(t)):function(t){return Z(e,t)};var n,r,a=e;if(!0===a.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),!("function"!=typeof a||a.prototype&&a.prototype.render||a.isReactClass||o.Component.isPrototypeOf(a)))return Z((r=n=function(e){function t(){return u(this,t),f(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return c(t,e),l(t,[{key:"render",value:function(){return a.call(this,this.props,this.context)}}]),t}(o.Component),n.displayName=a.displayName||a.name,n.contextTypes=a.contextTypes,n.propTypes=a.propTypes,n.defaultProps=a.defaultProps,r));if(!a)throw new Error("Please pass a valid component to 'observer'");return function(e){G(e,"componentWillMount",!0),["componentDidMount","componentWillUnmount","componentDidUpdate"].forEach(function(t){G(e,t)}),e.shouldComponentUpdate||(e.shouldComponentUpdate=Q.shouldComponentUpdate)}(a.prototype||a),a.isMobXReactObserver=!0,a}var J=Z(function(e){var t=e.children,n=e.inject,r=e.render,o=t||r;if(void 0===o)return null;if(!n)return o();var i=L(n)(o);return a.a.createElement(i,null)});J.displayName="Observer";var ee,te,ne=function(e,t,n,r,o){var a="children"===t?"render":"children";return"function"==typeof e[t]&&"function"==typeof e[a]?new Error("Invalid prop,do not use children and render in the same time in`"+n):"function"!=typeof e[t]&&"function"!=typeof e[a]?new Error("Invalid prop `"+o+"` of type `"+s(e[t])+"` supplied to `"+n+"`, expected `function`."):void 0};J.propTypes={render:ne,children:ne};var re={children:!0,key:!0,ref:!0},oe=(te=ee=function(e){function t(){return u(this,t),f(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return c(t,e),l(t,[{key:"render",value:function(){return o.Children.only(this.props.children)}},{key:"getChildContext",value:function(){var e={},t=this.context.mobxStores;if(t)for(var n in t)e[n]=t[n];for(var r in this.props)re[r]||"suppressChangedStoreWarning"===r||(e[r]=this.props[r]);return{mobxStores:e}}},{key:"componentWillReceiveProps",value:function(e){if(Object.keys(e).length!==Object.keys(this.props).length&&console.warn("MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children"),!e.suppressChangedStoreWarning)for(var t in e)re[t]||this.props[t]===e[t]||console.warn("MobX Provider: Provided store '"+t+"' has changed. Please avoid replacing stores as the change might not propagate to all children")}}]),t}(o.Component),ee.contextTypes={mobxStores:j},ee.childContextTypes={mobxStores:j.isRequired},te);if(!o.Component)throw new Error("mobx-react requires React to be available");if(!r.extras)throw new Error("mobx-react requires mobx to be available");"function"==typeof i.unstable_batchedUpdates&&r.extras.setReactionScheduler(i.unstable_batchedUpdates);var ae=function(e){return q.on(e)};if("object"===("undefined"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__?"undefined":s(__MOBX_DEVTOOLS_GLOBAL_HOOK__))){var ie={spy:r.spy,extras:r.extras},se={renderReporter:H,componentByNodeRegistery:B,trackComponents:W};__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(se,ie)}},function(e,t,n){var r=n(0);e.exports=function(e,t){var n=t&&Number(t.weekStartsOn)||0,o=r(e),a=o.getDay(),i=(a-1&&e%1==0&&e<=n}},function(e,t,n){var r=n(38),o=n(45);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t0}function l(e,t){var n=e.interceptors||(e.interceptors=[]);return n.push(t),it(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function c(e,t){var n=tn();try{var r=e.interceptors;if(r)for(var o=0,a=r.length;o0}function d(e,t){var n=e.changeListeners||(e.changeListeners=[]);return n.push(t),it(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function p(e,t){var n=tn(),r=e.changeListeners;if(r){for(var o=0,a=(r=r.slice()).length;o=this.length,value:tt){for(var n=new Array(e-t),r=0;r0&&e+t+1>S&&D(e+t+1)},e.prototype.spliceWithArray=function(e,t,n){var r=this;Qt(this.atom);var o=this.values.length;if(void 0===e?e=0:e>o?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:void 0===t||null===t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=[]),u(this)){var a=c(this,{object:this.array,type:"splice",index:e,removedCount:t,added:n});if(!a)return Je;t=a.removedCount,n=a.added}var i=(n=n.map(function(e){return r.enhancer(e,void 0)})).length-t;this.updateArrayLength(o,i);var s=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,s),this.dehanceValues(s)},e.prototype.spliceItemsIntoValues=function(e,t,n){if(n.length<1e4)return(r=this.values).splice.apply(r,[e,t].concat(n));var r,o=this.values.slice(e,e+t);return this.values=this.values.slice(0,e).concat(n,this.values.slice(e+t)),o},e.prototype.notifyArrayChildUpdate=function(e,t,n){var r=!this.owned&&h(),o=f(this),a=o||r?{object:this.array,type:"update",index:e,newValue:t,oldValue:n}:null;r&&v(a),this.atom.reportChanged(),o&&p(this,a),r&&b()},e.prototype.notifyArraySplice=function(e,t,n){var r=!this.owned&&h(),o=f(this),a=o||r?{object:this.array,type:"splice",index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&v(a),this.atom.reportChanged(),o&&p(this,a),r&&b()},e}(),N=function(e){function t(t,n,r,o){void 0===r&&(r="ObservableArray@"+tt()),void 0===o&&(o=!1);var a=e.call(this)||this,i=new C(r,n,a,o);return vt(a,"$mobx",i),t&&t.length&&a.spliceWithArray(0,0,t),O&&Object.defineProperty(i.array,"0",P),a}return o(t,e),t.prototype.intercept=function(e){return this.$mobx.intercept(e)},t.prototype.observe=function(e,t){return void 0===t&&(t=!1),this.$mobx.observe(e,t)},t.prototype.clear=function(){return this.splice(0)},t.prototype.concat=function(){for(var e=[],t=0;t-1&&(this.splice(t,1),!0)},t.prototype.move=function(e,t){function n(e){if(e<0)throw new Error("[mobx.array] Index out of bounds: "+e+" is negative");var t=this.$mobx.values.length;if(e>=t)throw new Error("[mobx.array] Index out of bounds: "+e+" is not smaller than "+t)}if(n.call(this,e),n.call(this,t),e!==t){var r,o=this.$mobx.values;r=e0,"actions should have valid names, got: '"+e+"'");var n=function(){return H(e,t,this,arguments)};return n.originalFn=t,n.isMobxAction=!0,n}function H(e,t,n,r){var o=function(e,t,n,r){var o=h()&&!!e,a=0;if(o){a=Date.now();var i=r&&r.length||0,s=new Array(i);if(i>0)for(var u=0;u";mt(e,t,J(a,n))},function(e){return this[e]},function(){rt(!1,U("m001"))},!1,!0),Z=q(function(e,t,n){re(e,t,n)},function(e){return this[e]},function(){rt(!1,U("m001"))},!1,!1),J=function(e,t,n,r){return 1===arguments.length&&"function"==typeof e?B(e.name||"",e):2===arguments.length&&"function"==typeof t?B(e,t):1===arguments.length&&"string"==typeof e?ee(e):ee(t).apply(null,arguments)};function ee(e){return function(t,n,r){if(r&&"function"==typeof r.value)return r.value=B(e,r.value),r.enumerable=!1,r.configurable=!0,r;if(void 0!==r&&void 0!==r.get)throw new Error("[mobx] action is not expected to be used with getters");return Q(e).apply(this,arguments)}}function te(e,t,n){var r="string"==typeof e?e:e.name||"",o="function"==typeof e?e:t,a="function"==typeof e?t:n;return rt("function"==typeof o,U("m002")),rt(0===o.length,U("m003")),rt("string"==typeof r&&r.length>0,"actions should have valid names, got: '"+r+"'"),H(r,o,a,void 0)}function ne(e){return"function"==typeof e&&!0===e.isMobxAction}function re(e,t,n){var r=function(){return H(t,n,e,arguments)};r.isMobxAction=!0,mt(e,t,r)}J.bound=function(e,t,n){if("function"==typeof e){var r=B("",e);return r.autoBind=!0,r}return Z.apply(null,arguments)};var oe=Object.prototype.toString;function ae(e,t){return ie(e,t)}function ie(e,t,n,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var o=typeof e;return("function"===o||"object"===o||"object"==typeof t)&&function(e,t,n,r){e=se(e),t=se(t);var o=oe.call(e);if(o!==oe.call(t))return!1;switch(o){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!=+e?+t!=+t:0==+e?1/+e==1/t:+e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t)}var a="[object Array]"===o;if(!a){if("object"!=typeof e||"object"!=typeof t)return!1;var i=e.constructor,s=t.constructor;if(i!==s&&!("function"==typeof i&&i instanceof i&&"function"==typeof s&&s instanceof s)&&"constructor"in e&&"constructor"in t)return!1}n=n||[],r=r||[];var u=n.length;for(;u--;)if(n[u]===e)return r[u]===t;if(n.push(e),r.push(t),a){if((u=e.length)!==t.length)return!1;for(;u--;)if(!ie(e[u],t[u],n,r))return!1}else{var l,c=Object.keys(e);if(u=c.length,Object.keys(t).length!==u)return!1;for(;u--;)if(l=c[u],!ue(t,l)||!ie(e[l],t[l],n,r))return!1}return n.pop(),r.pop(),!0}(e,t,n,r)}function se(e){return I(e)?e.peek():Ze(e)?e.entries():xt(e)?function(e){var t=[];for(;;){var n=e.next();if(n.done)break;t.push(n.value)}return t}(e.entries()):e}function ue(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function le(e,t){return e===t}var ce={identity:le,structural:function(e,t){return ae(e,t)},default:function(e,t){return function(e,t){return"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)}(e,t)||le(e,t)}};function fe(e,t,n){var r,o,a;"string"==typeof e?(r=e,o=t,a=n):(r=e.name||"Autorun@"+tt(),o=e,a=t),rt("function"==typeof o,U("m004")),rt(!1===ne(o),U("m005")),a&&(o=o.bind(a));var i=new ln(r,function(){this.track(s)});function s(){o(i)}return i.schedule(),i.getDisposer()}function de(e,t,n,r){var o,a,i,s;return"string"==typeof e?(o=e,a=t,i=n,s=r):(o="When@"+tt(),a=e,i=t,s=n),fe(o,function(e){if(a.call(s)){e.dispose();var t=tn();i.call(s),nn(t)}})}function pe(e,t,n,r){var o,a,i,s;"string"==typeof e?(o=e,a=t,i=n,s=r):(o=e.name||"AutorunAsync@"+tt(),a=e,i=t,s=n),rt(!1===ne(a),U("m006")),void 0===i&&(i=1),s&&(a=a.bind(s));var u=!1,l=new ln(o,function(){u||(u=!0,setTimeout(function(){u=!1,l.isDisposed||l.track(c)},i))});function c(){a(l)}return l.schedule(),l.getDisposer()}function he(e,t,n){var r;arguments.length>3&&nt(U("m007")),Be(e)&&nt(U("m008")),(r="object"==typeof n?n:{}).name=r.name||e.name||t.name||"Reaction@"+tt(),r.fireImmediately=!0===n||!0===r.fireImmediately,r.delay=r.delay||0,r.compareStructural=r.compareStructural||r.struct||!1,t=J(r.name,r.context?t.bind(r.context):t),r.context&&(e=e.bind(r.context));var o,a=!0,i=!1,s=r.equals?r.equals:r.compareStructural||r.struct?ce.structural:ce.default,u=new ln(r.name,function(){a||r.delay<1?l():i||(i=!0,setTimeout(function(){i=!1,l()},r.delay))});function l(){if(!u.isDisposed){var n=!1;u.track(function(){var t=e(u);n=a||!s(o,t),o=t}),a&&r.fireImmediately&&t(o,u),a||!0!==n||t(o,u),a&&(a=!1)}}return u.schedule(),u.getDisposer()}var me=function(){function e(e,t,n,r,o){this.derivation=e,this.scope=t,this.equals=n,this.dependenciesState=Et.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=Et.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+tt(),this.value=new qt(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=Ot.NONE,this.name=r||"ComputedValue@"+tt(),o&&(this.setter=B(r+"-setter",o))}return e.prototype.onBecomeStale=function(){!function(e){if(e.lowestObserverState!==Et.UP_TO_DATE)return;e.lowestObserverState=Et.POSSIBLY_STALE;var t=e.observers,n=t.length;for(;n--;){var r=t[n];r.dependenciesState===Et.UP_TO_DATE&&(r.dependenciesState=Et.POSSIBLY_STALE,r.isTracing!==Ot.NONE&&$t(r,e),r.onBecomeStale())}}(this)},e.prototype.onBecomeUnobserved=function(){Jt(this),this.value=void 0},e.prototype.get=function(){rt(!this.isComputing,"Cycle detected in computation "+this.name,this.derivation),0===Ct.inBatch?(Vt(),Xt(this)&&(this.isTracing!==Ot.NONE&&console.log("[mobx.trace] '"+this.name+"' is being read outside a reactive context and doing a full recompute"),this.value=this.computeValue(!1)),Yt()):(Wt(this),Xt(this)&&this.trackAndCompute()&&function(e){if(e.lowestObserverState===Et.STALE)return;e.lowestObserverState=Et.STALE;var t=e.observers,n=t.length;for(;n--;){var r=t[n];r.dependenciesState===Et.POSSIBLY_STALE?r.dependenciesState=Et.STALE:r.dependenciesState===Et.UP_TO_DATE&&(e.lowestObserverState=Et.UP_TO_DATE)}}(this));var e=this.value;if(Gt(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(Gt(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){rt(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else rt(!1,"[ComputedValue '"+this.name+"'] It is not possible to assign a new value to a computed value.")},e.prototype.trackAndCompute=function(){h()&&m({object:this.scope,type:"compute",fn:this.derivation});var e=this.value,t=this.dependenciesState===Et.NOT_TRACKING,n=this.value=this.computeValue(!0);return t||Gt(e)||Gt(n)||!this.equals(e,n)},e.prototype.computeValue=function(e){var t;if(this.isComputing=!0,Ct.computationDepth++,e)t=Zt(this,this.derivation,this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new qt(e)}return Ct.computationDepth--,this.isComputing=!1,t},e.prototype.observe=function(e,t){var n=this,r=!0,o=void 0;return fe(function(){var a=n.get();if(!r||t){var i=tn();e({type:"update",object:n,newValue:a,oldValue:o}),nn(i)}r=!1,o=a})},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.valueOf=function(){return kt(this.get())},e.prototype.whyRun=function(){var e=Boolean(Ct.trackingDerivation),t=ut(this.isComputing?this.newObserving:this.observing).map(function(e){return e.name}),n=ut(Ft(this).map(function(e){return e.name}));return"\nWhyRun? computation '"+this.name+"':\n * Running because: "+(e?"[active] the value of this computation is needed by a reaction":this.isComputing?"[get] The value of this computed was requested outside a reaction":"[idle] not running at the moment")+"\n"+(this.dependenciesState===Et.NOT_TRACKING?U("m032"):" * This computation will re-run if any of the following observables changes:\n "+lt(t)+"\n "+(this.isComputing&&e?" (... or any observable accessed during the remainder of the current run)":"")+"\n "+U("m038")+"\n\n * If the outcome of this computation changes, the following observers will be re-run:\n "+lt(n)+"\n")},e}();me.prototype[wt()]=me.prototype.valueOf;var ve=yt("ComputedValue",me),ge=function(){function e(e,t){this.target=e,this.name=t,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,t){return rt(!0!==t,"`observe` doesn't support the fire immediately property for observable objects."),d(this,e)},e.prototype.intercept=function(e){return l(this,e)},e}();function be(e,t){if(Te(e)&&e.hasOwnProperty("$mobx"))return e.$mobx;rt(Object.isExtensible(e),U("m035")),ft(e)||(t=(e.constructor.name||"ObservableObject")+"@"+tt()),t||(t="ObservableObject@"+tt());var n=new ge(e,t);return vt(e,"$mobx",n),n}function ye(e,t,n,r){if(e.values[t]&&!ve(e.values[t]))return rt("value"in n,"The property "+t+" in "+e.name+" is already observable, cannot redefine it as computed property"),void(e.target[t]=n.value);if("value"in n)if(Be(n.value)){var o=n.value;_e(e,t,o.initialValue,o.enhancer)}else ne(n.value)&&!0===n.value.autoBind?re(e.target,t,n.value.originalFn):ve(n.value)?function(e,t,n){var r=e.name+"."+t;n.name=r,n.scope||(n.scope=e.target);e.values[t]=n,Object.defineProperty(e.target,t,Ee(t))}(e,t,n.value):_e(e,t,n.value,r);else xe(e,t,n.get,n.set,ce.default,!0)}function _e(e,t,n,r){if(bt(e.target,t),u(e)){var o=c(e,{object:e.target,name:t,type:"add",newValue:n});if(!o)return;n=o.newValue}n=(e.values[t]=new L(n,r,e.name+"."+t,!1)).value,Object.defineProperty(e.target,t,function(e){return we[e]||(we[e]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.values[e].get()},set:function(t){Oe(this,e,t)}})}(t)),function(e,t,n,r){var o=f(e),a=h(),i=o||a?{type:"add",object:t,name:n,newValue:r}:null;a&&v(i);o&&p(e,i);a&&b()}(e,e.target,t,n)}function xe(e,t,n,r,o,a){a&&bt(e.target,t),e.values[t]=new me(n,e.target,o,e.name+"."+t,r),a&&Object.defineProperty(e.target,t,Ee(t))}var we={},ke={};function Ee(e){return ke[e]||(ke[e]={configurable:!0,enumerable:!1,get:function(){return this.$mobx.values[e].get()},set:function(t){return this.$mobx.values[e].set(t)}})}function Oe(e,t,n){var r=e.$mobx,o=r.values[t];if(u(r)){if(!(s=c(r,{type:"update",object:e,name:t,newValue:n})))return;n=s.newValue}if((n=o.prepareNewValue(n))!==R){var a=f(r),i=h(),s=a||i?{type:"update",object:e,oldValue:o.value,name:t,newValue:n}:null;i&&v(s),o.setNewValue(n),a&&p(r,s),i&&b()}}var Se=yt("ObservableObjectAdministration",ge);function Te(e){return!!ct(e)&&(X(e),Se(e.$mobx))}function Ce(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(I(e)||Ze(e))throw new Error(U("m019"));if(Te(e)){var n=e.$mobx;return n.values&&!!n.values[t]}return!1}return Te(e)||!!e.$mobx||s(e)||mn(e)||ve(e)}function Ne(e){return rt(!!e,":("),q(function(t,n,r,o,a){bt(t,n),rt(!a||!a.get,U("m022")),_e(be(t,void 0),n,r,e)},function(e){var t=this.$mobx.values[e];if(void 0!==t)return t.get()},function(e,t){Oe(this,e,t)},!0,!1)}function Pe(e){for(var t=[],n=1;n=2,U("m014")),rt("object"==typeof e,U("m015")),rt(!Ze(e),U("m016")),n.forEach(function(e){rt("object"==typeof e,U("m017")),rt(!Ce(e),U("m018"))});for(var r=be(e),o={},a=n.length-1;a>=0;a--){var i=n[a];for(var s in i)if(!0!==o[s]&&ht(i,s)){if(o[s]=!0,e===i&&!gt(e,s))continue;ye(r,s,Object.getOwnPropertyDescriptor(i,s),t)}}return e}var De=Ne(Ve),Ae=Ne(Ye),Ie=Ne(We),Re=Ne($e),Le=Ne(qe);var ze={box:function(e,t){return arguments.length>2&&Ue("box"),new L(e,Ve,t)},shallowBox:function(e,t){return arguments.length>2&&Ue("shallowBox"),new L(e,We,t)},array:function(e,t){return arguments.length>2&&Ue("array"),new N(e,Ve,t)},shallowArray:function(e,t){return arguments.length>2&&Ue("shallowArray"),new N(e,We,t)},map:function(e,t){return arguments.length>2&&Ue("map"),new Ke(e,Ve,t)},shallowMap:function(e,t){return arguments.length>2&&Ue("shallowMap"),new Ke(e,We,t)},object:function(e,t){arguments.length>2&&Ue("object");var n={};return be(n,t),Pe(n,e),n},shallowObject:function(e,t){arguments.length>2&&Ue("shallowObject");var n={};return be(n,t),Me(n,e),n},ref:function(){return arguments.length<2?He(We,arguments[0]):Ie.apply(null,arguments)},shallow:function(){return arguments.length<2?He(Ye,arguments[0]):Ae.apply(null,arguments)},deep:function(){return arguments.length<2?He(Ve,arguments[0]):De.apply(null,arguments)},struct:function(){return arguments.length<2?He($e,arguments[0]):Re.apply(null,arguments)}},Fe=function(e){if(void 0===e&&(e=void 0),"string"==typeof arguments[1])return De.apply(null,arguments);if(rt(arguments.length<=1,U("m021")),rt(!Be(e),U("m020")),Ce(e))return e;var t=Ve(e,void 0,void 0);return t!==e?t:Fe.box(e)};function Ue(e){nt("Expected one or two arguments to observable."+e+". Did you accidentally try to use observable."+e+" as decorator?")}function Be(e){return"object"==typeof e&&null!==e&&!0===e.isMobxModifierDescriptor}function He(e,t){return rt(!Be(t),"Modifiers cannot be nested"),{isMobxModifierDescriptor:!0,initialValue:t,enhancer:e}}function Ve(e,t,n){return Be(e)&&nt("You tried to assign a modifier wrapped value to a collection, please define modifiers when creating the collection, not when modifying it"),Ce(e)?e:Array.isArray(e)?Fe.array(e,n):ft(e)?Fe.object(e,n):xt(e)?Fe.map(e,n):e}function Ye(e,t,n){return Be(e)&&nt("You tried to assign a modifier wrapped value to a collection, please define modifiers when creating the collection, not when modifying it"),void 0===e||null===e?e:Te(e)||I(e)||Ze(e)?e:Array.isArray(e)?Fe.shallowArray(e,n):ft(e)?Fe.shallowObject(e,n):xt(e)?Fe.shallowMap(e,n):nt("The shallow modifier / decorator can only used in combination with arrays, objects and maps")}function We(e){return e}function $e(e,t,n){if(ae(e,t))return t;if(Ce(e))return e;if(Array.isArray(e))return new N(e,$e,n);if(xt(e))return new Ke(e,$e,n);if(ft(e)){var r={};return be(r,n),je(r,$e,[e]),r}return e}function qe(e,t,n){return ae(e,t)?t:e}function Ge(e,t){void 0===t&&(t=void 0),Vt();try{return e.apply(t)}finally{Yt()}}Object.keys(ze).forEach(function(e){return Fe[e]=ze[e]}),Fe.deep.struct=Fe.struct,Fe.ref.struct=function(){return arguments.length<2?He(qe,arguments[0]):Le.apply(null,arguments)};var Xe={},Ke=function(){function e(e,t,n){void 0===t&&(t=Ve),void 0===n&&(n="ObservableMap@"+tt()),this.enhancer=t,this.name=n,this.$mobx=Xe,this._data=Object.create(null),this._hasMap=Object.create(null),this._keys=new N(void 0,We,this.name+".keys()",!0),this.interceptors=null,this.changeListeners=null,this.dehancer=void 0,this.merge(e)}return e.prototype._has=function(e){return void 0!==this._data[e]},e.prototype.has=function(e){return!!this.isValidKey(e)&&(e=""+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get())},e.prototype.set=function(e,t){this.assertValidKey(e),e=""+e;var n=this._has(e);if(u(this)){var r=c(this,{type:n?"update":"add",object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this._updateValue(e,t):this._addValue(e,t),this},e.prototype.delete=function(e){var t=this;if((this.assertValidKey(e),e=""+e,u(this))&&!(o=c(this,{type:"delete",object:this,name:e})))return!1;if(this._has(e)){var n=h(),r=f(this),o=r||n?{type:"delete",object:this,oldValue:this._data[e].value,name:e}:null;return n&&v(o),Ge(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1),t._data[e].setNewValue(void 0),t._data[e]=void 0}),r&&p(this,o),n&&b(),!0}return!1},e.prototype._updateHasMapEntry=function(e,t){var n=this._hasMap[e];return n?n.setNewValue(t):n=this._hasMap[e]=new L(t,We,this.name+"."+e+"?",!1),n},e.prototype._updateValue=function(e,t){var n=this._data[e];if((t=n.prepareNewValue(t))!==R){var r=h(),o=f(this),a=o||r?{type:"update",object:this,oldValue:n.value,name:e,newValue:t}:null;r&&v(a),n.setNewValue(t),o&&p(this,a),r&&b()}},e.prototype._addValue=function(e,t){var n=this;Ge(function(){var r=n._data[e]=new L(t,n.enhancer,n.name+"."+e,!1);t=r.value,n._updateHasMapEntry(e,!0),n._keys.push(e)});var r=h(),o=f(this),a=o||r?{type:"add",object:this,name:e,newValue:t}:null;r&&v(a),o&&p(this,a),r&&b()},e.prototype.get=function(e){return e=""+e,this.has(e)?this.dehanceValue(this._data[e].get()):this.dehanceValue(void 0)},e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.keys=function(){return x(this._keys.slice())},e.prototype.values=function(){return x(this._keys.map(this.get,this))},e.prototype.entries=function(){var e=this;return x(this._keys.map(function(t){return[t,e.get(t)]}))},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r,n)})},e.prototype.merge=function(e){var t=this;return Ze(e)&&(e=e.toJS()),Ge(function(){ft(e)?Object.keys(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):xt(e)?e.forEach(function(e,n){return t.set(n,e)}):null!==e&&void 0!==e&&nt("Cannot initialize map from "+e)}),this},e.prototype.clear=function(){var e=this;Ge(function(){en(function(){e.keys().forEach(e.delete,e)})})},e.prototype.replace=function(e){var t=this;return Ge(function(){var n,r=ft(n=e)?Object.keys(n):Array.isArray(n)?n.map(function(e){return e[0]}):xt(n)?Array.from(n.keys()):Ze(n)?n.keys():nt("Cannot get keys from "+n);t.keys().filter(function(e){return-1===r.indexOf(e)}).forEach(function(e){return t.delete(e)}),t.merge(e)}),this},Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var e=this,t={};return this.keys().forEach(function(n){return t[n]=e.get(n)}),t},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null!==e&&void 0!==e&&("string"==typeof e||"number"==typeof e||"boolean"==typeof e)},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error("[mobx.map] Invalid key: '"+e+"', only strings, numbers and booleans are accepted as key in observable maps.")},e.prototype.toString=function(){var e=this;return this.name+"[{ "+this.keys().map(function(t){return t+": "+e.get(t)}).join(", ")+" }]"},e.prototype.observe=function(e,t){return rt(!0!==t,U("m033")),d(this,e)},e.prototype.intercept=function(e){return l(this,e)},e}();function Qe(e){return at("`mobx.map` is deprecated, use `new ObservableMap` or `mobx.observable.map` instead"),Fe.map(e)}w(Ke.prototype,function(){return this.entries()});var Ze=yt("ObservableMap",Ke),Je=[];function et(){return"undefined"!=typeof window?window:e}function tt(){return++Ct.mobxGuid}function nt(e,t){throw rt(!1,e,t),"X"}function rt(e,t,n){if(!e)throw new Error("[mobx] Invariant failed: "+t+(n?" in '"+n+"'":""))}Object.freeze(Je);var ot=[];function at(e){return-1===ot.indexOf(e)&&(ot.push(e),console.error("[mobx] Deprecated: "+e),!0)}function it(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var st=function(){};function ut(e){var t=[];return e.forEach(function(e){-1===t.indexOf(e)&&t.push(e)}),t}function lt(e,t,n){return void 0===t&&(t=100),void 0===n&&(n=" - "),e?e.slice(0,t).join(n)+(e.length>t?" (... and "+(e.length-t)+"more)":""):""}function ct(e){return null!==e&&"object"==typeof e}function ft(e){if(null===e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function dt(){for(var e=arguments[0],t=1,n=arguments.length;t0&&(t.dependencies=ut(e.observing).map(Lt)),t}function zt(e){var t,n={name:e.name};return(t=e).observers&&t.observers.length>0&&(n.observers=Ft(e).map(zt)),n}function Ft(e){return e.observers}function Ut(e,t){var n=e.observers.length;n&&(e.observersIndexes[t.__mapid]=n),e.observers[n]=t,e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function Bt(e,t){if(1===e.observers.length)e.observers.length=0,Ht(e);else{var n=e.observers,r=e.observersIndexes,o=n.pop();if(o!==t){var a=r[t.__mapid]||0;a?r[o.__mapid]=a:delete r[o.__mapid],n[a]=o}delete r[t.__mapid]}}function Ht(e){e.isPendingUnobservation||(e.isPendingUnobservation=!0,Ct.pendingUnobservations.push(e))}function Vt(){Ct.inBatch++}function Yt(){if(0==--Ct.inBatch){pn();for(var e=Ct.pendingUnobservations,t=0;t=1e3)return void n.push("(and many more)");n.push(""+new Array(r).join("\t")+t.name);t.dependencies&&t.dependencies.forEach(function(t){return e(t,n,r+1)})}(Rt(e),n,1),new Function("debugger;\n/*\nTracing '"+e.name+"'\n\nYou are entering this break point because derivation '"+e.name+"' is being traced and '"+t.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(e instanceof me?e.derivation.toString():"")+"\n\nThe dependencies for this derivation are:\n\n"+n.join("\n")+"\n*/\n ")()}}jt.__mobxInstanceCount?(jt.__mobxInstanceCount++,setTimeout(function(){Nt||Pt||Mt||(Mt=!0,console.warn("[mobx] Warning: there are multiple mobx instances active. This might lead to unexpected results. See https://github.com/mobxjs/mobx/issues/1082 for details."))},1)):jt.__mobxInstanceCount=1,function(e){e[e.NOT_TRACKING=-1]="NOT_TRACKING",e[e.UP_TO_DATE=0]="UP_TO_DATE",e[e.POSSIBLY_STALE=1]="POSSIBLY_STALE",e[e.STALE=2]="STALE"}(Et||(Et={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(Ot||(Ot={}));var qt=function(){return function(e){this.cause=e}}();function Gt(e){return e instanceof qt}function Xt(e){switch(e.dependenciesState){case Et.UP_TO_DATE:return!1;case Et.NOT_TRACKING:case Et.STALE:return!0;case Et.POSSIBLY_STALE:for(var t=tn(),n=e.observing,r=n.length,o=0;o0;Ct.computationDepth>0&&t&&nt(U("m031")+e.name),!Ct.allowStateChanges&&t&&nt(U(Ct.strictMode?"m030a":"m030b")+e.name)}function Zt(e,t,n){rn(e),e.newObserving=new Array(e.observing.length+100),e.unboundDepsCount=0,e.runId=++Ct.runId;var r,o=Ct.trackingDerivation;Ct.trackingDerivation=e;try{r=t.call(n)}catch(e){r=new qt(e)}return Ct.trackingDerivation=o,function(e){for(var t=e.observing,n=e.observing=e.newObserving,r=Et.UP_TO_DATE,o=0,a=e.unboundDepsCount,i=0;ir&&(r=s.dependenciesState)}n.length=o,e.newObserving=null,a=t.length;for(;a--;){var s=t[a];0===s.diffValue&&Bt(s,e),s.diffValue=0}for(;o--;){var s=n[o];1===s.diffValue&&(s.diffValue=0,Ut(s,e))}r!==Et.UP_TO_DATE&&(e.dependenciesState=r,e.onBecomeStale())}(e),r}function Jt(e){var t=e.observing;e.observing=[];for(var n=t.length;n--;)Bt(t[n],e);e.dependenciesState=Et.NOT_TRACKING}function en(e){var t=tn(),n=e();return nn(t),n}function tn(){var e=Ct.trackingDerivation;return Ct.trackingDerivation=null,e}function nn(e){Ct.trackingDerivation=e}function rn(e){if(e.dependenciesState!==Et.UP_TO_DATE){e.dependenciesState=Et.UP_TO_DATE;for(var t=e.observing,n=t.length;n--;)t[n].lowestObserverState=Et.UP_TO_DATE}}function on(e){return console.log(e),e}function an(e,t){return at("`whyRun` is deprecated in favor of `trace`"),(e=un(arguments))?ve(e)||mn(e)?on(e.whyRun()):nt(U("m025")):on(U("m024"))}function sn(){for(var e=[],t=0;t0||Ct.isRunningReactions||dn(hn)}function hn(){Ct.isRunningReactions=!0;for(var e=Ct.pendingReactions,t=0;e.length>0;){++t===fn&&(console.error("Reaction doesn't converge to a stable state after "+fn+" iterations. Probably there is a cycle in the reactive function: "+e[0]),e.splice(0));for(var n=e.splice(0),r=0,o=n.length;r=0&&Ct.globalReactionErrorHandlers.splice(t,1)}},reserveArrayBuffer:D,resetGlobalState:function(){Ct.resetId++;var e=new Tt;for(var t in e)-1===St.indexOf(t)&&(Ct[t]=e[t]);Ct.allowStateChanges=!Ct.strictMode},isolateGlobalState:function(){Pt=!0,et().__mobxInstanceCount--},shareGlobalState:function(){at("Using `shareGlobalState` is not recommended, use peer dependencies instead. See https://github.com/mobxjs/mobx/issues/1082 for details."),Nt=!0;var e=et(),t=Ct;if(e.__mobservableTrackingStack||e.__mobservableViewStack)throw new Error("[mobx] An incompatible version of mobservable is already loaded.");if(e.__mobxGlobal&&e.__mobxGlobal.version!==t.version)throw new Error("[mobx] An incompatible version of mobx is already loaded.");e.__mobxGlobal?Ct=e.__mobxGlobal:e.__mobxGlobal=t},spyReport:m,spyReportEnd:b,spyReportStart:v,setReactionScheduler:function(e){var t=dn;dn=function(n){return e(function(){return t(n)})}}},Mn={Reaction:ln,untracked:en,Atom:i,BaseAtom:a,useStrict:V,isStrictModeEnabled:Y,spy:y,comparer:ce,asReference:vn,asFlat:bn,asStructure:gn,asMap:yn,isModifierDescriptor:Be,isObservableObject:Te,isBoxedObservable:z,isObservableArray:I,ObservableMap:Ke,isObservableMap:Ze,map:Qe,transaction:Ge,observable:Fe,computed:kn,isObservable:Ce,isComputed:En,extendObservable:Pe,extendShallowObservable:Me,observe:On,intercept:Sn,autorun:fe,autorunAsync:pe,when:de,reaction:he,action:J,isAction:ne,runInAction:te,expr:Tn,toJS:Cn,createTransformer:Nn,whyRun:an,isArrayLike:_t,extras:Pn},jn=!1,Dn=function(e){var t=Mn[e];Object.defineProperty(Mn,e,{get:function(){return jn||(jn=!0,console.warn("Using default export (`import mobx from 'mobx'`) is deprecated and won’t work in mobx@4.0.0\nUse `import * as mobx from 'mobx'` instead")),t}})};for(var An in Mn)Dn(An);"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:y,extras:Pn}),t.default=Mn}.call(t,n(34))},function(e,t){e.exports=function(e){return e instanceof Date}},function(e,t,n){var r=n(0);e.exports=function(e){var t=r(e),n=t.getFullYear(),o=t.getMonth(),a=new Date(0);return a.setFullYear(n,o+1,0),a.setHours(0,0,0,0),a.getDate()}},function(e,t,n){var r=n(15);e.exports=function(e,t){var n=Number(t);return r(e,7*n)}},function(e,t,n){var r=n(0);e.exports=function(e,t){var n=r(e).getTime(),o=r(t).getTime();return n>o?-1:n0?Math.floor(n):Math.ceil(n)}},function(e,t,n){var r=n(216),o=n(217);e.exports={distanceInWords:r(),format:o()}},function(e,t,n){var r=n(0);e.exports=function(e){var t=r(e);return t.setHours(23,59,59,999),t}},function(e,t,n){var r=n(0),o=n(8),a=n(17),i=6048e5;e.exports=function(e){var t=r(e),n=o(t).getTime()-a(t).getTime();return Math.round(n/i)+1}},function(e,t,n){var r=n(28);e.exports=function(e,t,n){var o=r(e,n),a=r(t,n);return o.getTime()===a.getTime()}},function(e,t){e.exports={"trans-color":"nav-menu--trans-color---CqiCw",wrap:"nav-menu--wrap---3TYi4",overlay:"nav-menu--overlay---x9e9H","close-btn":"nav-menu--close-btn---2gn2i",menu:"nav-menu--menu---3bcTD","close-button":"nav-menu--close-button---1zuAz",date:"nav-menu--date---22EVu","section-head":"nav-menu--section-head---1OPT4",control:"nav-menu--control---188iM","control-label":"nav-menu--control-label---1wX7o","with-icon":"nav-menu--with-icon---1EO0Y","control-group":"nav-menu--control-group---1Koms","toggle-icon-passed":"nav-menu--toggle-icon-passed---3dASH","toggle-icon-failed":"nav-menu--toggle-icon-failed---36wnk","toggle-icon-pending":"nav-menu--toggle-icon-pending---IvVbf","toggle-icon-skipped":"nav-menu--toggle-icon-skipped---1rFb1",open:"nav-menu--open---2MuoM",section:"nav-menu--section---14er0",list:"nav-menu--list---1o0U1",main:"nav-menu--main---3ivly","no-tests":"nav-menu--no-tests---1-81i",item:"nav-menu--item---3Bj7T","has-tests":"nav-menu--has-tests---1oUxJ",sub:"nav-menu--sub---3iKtW",link:"nav-menu--link---2CyNp","link-icon":"nav-menu--link-icon---3kyRL",pass:"nav-menu--pass---rx63y",fail:"nav-menu--fail---1pTTl",pending:"nav-menu--pending---M817x",skipped:"nav-menu--skipped---kyvdT",disabled:"nav-menu--disabled---3StFR"}},function(e,t){e.exports={"trans-color":"suite--trans-color---1yXp5",component:"suite--component---1WFoy",body:"suite--body---2Ql-3","no-tests":"suite--no-tests---3Ag3e","root-suite":"suite--root-suite---2LS9i","list-main":"suite--list-main---39CaH","no-suites":"suite--no-suites---2EVhf",header:"suite--header---3CWtn",title:"suite--title---CsLhu",filename:"suite--filename---3LR5s","has-suites":"suite--has-suites---2bqoB","chart-wrap":"suite--chart-wrap---3aAZY","chart-slice":"suite--chart-slice---1EQ6h","chart-enabled":"suite--chart-enabled---23t51"}},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,i,s=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;ud))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var m=-1,v=!0,g=n&s?new r:void 0;for(c.set(e,t),c.set(t,e);++m-1&&e%1==0&&e0?(v=o(e),g=o(t)):(v=o(t),g=o(e));var y,_=a(g,v),x=g.getTimezoneOffset()-v.getTimezoneOffset(),w=Math.round(_/60)-x;if(w<2)return d.includeSeconds?_<5?m("lessThanXSeconds",5,b):_<10?m("lessThanXSeconds",10,b):_<20?m("lessThanXSeconds",20,b):_<40?m("halfAMinute",null,b):m(_<60?"lessThanXMinutes":"xMinutes",1,b):0===w?m("lessThanXMinutes",1,b):m("xMinutes",w,b);if(w<45)return m("xMinutes",w,b);if(w<90)return m("aboutXHours",1,b);if(w]+>|\t|)+|(?:\n)))/gm,u="",l={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function c(e){return e.replace(/&/g,"&").replace(//g,">")}function f(e){return e.nodeName.toLowerCase()}function d(e,t){var n=e&&e.exec(t);return n&&0===n.index}function p(e){return a.test(e)}function h(e){var t,n={},r=Array.prototype.slice.call(arguments,1);for(t in e)n[t]=e[t];return r.forEach(function(e){for(t in e)n[t]=e[t]}),n}function m(e){var t=[];return function e(n,r){for(var o=n.firstChild;o;o=o.nextSibling)3===o.nodeType?r+=o.nodeValue.length:1===o.nodeType&&(t.push({event:"start",offset:r,node:o}),r=e(o,r),f(o).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:o}));return r}(e,0),t}function v(e){function t(e){return e&&e.source||e}function r(n,r){return new RegExp(t(n),"m"+(e.case_insensitive?"i":"")+(r?"g":""))}!function o(a,i){if(!a.compiled){if(a.compiled=!0,a.keywords=a.keywords||a.beginKeywords,a.keywords){var s={},u=function(t,n){e.case_insensitive&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");s[n[0]]=[t,n[1]?Number(n[1]):1]})};"string"==typeof a.keywords?u("keyword",a.keywords):n(a.keywords).forEach(function(e){u(e,a.keywords[e])}),a.keywords=s}a.lexemesRe=r(a.lexemes||/\w+/,!0),i&&(a.beginKeywords&&(a.begin="\\b("+a.beginKeywords.split(" ").join("|")+")\\b"),a.begin||(a.begin=/\B|\b/),a.beginRe=r(a.begin),a.endSameAsBegin&&(a.end=a.begin),a.end||a.endsWithParent||(a.end=/\B|\b/),a.end&&(a.endRe=r(a.end)),a.terminator_end=t(a.end)||"",a.endsWithParent&&i.terminator_end&&(a.terminator_end+=(a.end?"|":"")+i.terminator_end)),a.illegal&&(a.illegalRe=r(a.illegal)),null==a.relevance&&(a.relevance=1),a.contains||(a.contains=[]),a.contains=Array.prototype.concat.apply([],a.contains.map(function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map(function(t){return h(e,{variants:null},t)})),e.cached_variants||e.endsWithParent&&[h(e)]||[e]}("self"===e?a:e)})),a.contains.forEach(function(e){o(e,a)}),a.starts&&o(a.starts,i);var l=a.contains.map(function(e){return e.beginKeywords?"\\.?("+e.begin+")\\.?":e.begin}).concat([a.terminator_end,a.illegal]).map(t).filter(Boolean);a.terminators=l.length?r(l.join("|"),!0):{exec:function(){return null}}}}(e)}function g(e,t,n,o){function a(e,t){var n=h.case_insensitive?t[0].toLowerCase():t[0];return e.keywords.hasOwnProperty(n)&&e.keywords[n]}function i(e,t,n,r){var o='')+t+(n?"":u)}function s(){x+=null!=y.subLanguage?function(){var e="string"==typeof y.subLanguage;if(e&&!r[y.subLanguage])return c(k);var t=e?g(y.subLanguage,k,!0,_[y.subLanguage]):b(k,y.subLanguage.length?y.subLanguage:void 0);return y.relevance>0&&(E+=t.relevance),e&&(_[y.subLanguage]=t.top),i(t.language,t.value,!1,!0)}():function(){var e,t,n,r;if(!y.keywords)return c(k);for(r="",t=0,y.lexemesRe.lastIndex=0,n=y.lexemesRe.exec(k);n;)r+=c(k.substring(t,n.index)),(e=a(y,n))?(E+=e[1],r+=i(e[0],c(n[0]))):r+=c(n[0]),t=y.lexemesRe.lastIndex,n=y.lexemesRe.exec(k);return r+c(k.substr(t))}(),k=""}function f(e){x+=e.className?i(e.className,"",!0):"",y=Object.create(e,{parent:{value:y}})}function p(e,t){if(k+=e,null==t)return s(),0;var r=function(e,t){var n,r,o;for(n=0,r=t.contains.length;n")+'"');return k+=t,t.length||1}var h=w(e);if(!h)throw new Error('Unknown language: "'+e+'"');v(h);var m,y=o||h,_={},x="";for(m=y;m!==h;m=m.parent)m.className&&(x=i(m.className,"",!0)+x);var k="",E=0;try{for(var O,S,T=0;y.terminators.lastIndex=T,O=y.terminators.exec(t);)S=p(t.substring(T,O.index),O[0]),T=O.index+S;for(p(t.substr(T)),m=y;m.parent;m=m.parent)m.className&&(x+=u);return{relevance:E,value:x,language:e,top:y}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{relevance:0,value:c(t)};throw e}}function b(e,t){t=t||l.languages||n(r);var o={relevance:0,value:c(e)},a=o;return t.filter(w).filter(k).forEach(function(t){var n=g(t,e,!1);n.language=t,n.relevance>a.relevance&&(a=n),n.relevance>o.relevance&&(a=o,o=n)}),a.language&&(o.second_best=a),o}function y(e){return l.tabReplace||l.useBR?e.replace(s,function(e,t){return l.useBR&&"\n"===e?"
":l.tabReplace?t.replace(/\t/g,l.tabReplace):""}):e}function _(e){var n,r,a,s,u,d=function(e){var t,n,r,o,a=e.className+" ";if(a+=e.parentNode?e.parentNode.className:"",n=i.exec(a))return w(n[1])?n[1]:"no-highlight";for(t=0,r=(a=a.split(/\s+/)).length;t/g,"\n"):n=e,u=n.textContent,a=d?g(d,u,!0):b(u),(r=m(n)).length&&((s=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=a.value,a.value=function(e,n,r){var o=0,a="",i=[];function s(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function l(e){a+=""}function d(e){("start"===e.event?u:l)(e.node)}for(;e.length||n.length;){var p=s();if(a+=c(r.substring(o,p[0].offset)),o=p[0].offset,p===e){i.reverse().forEach(l);do{d(p.splice(0,1)[0]),p=s()}while(p===e&&p.length&&p[0].offset===o);i.reverse().forEach(u)}else"start"===p[0].event?i.push(p[0].node):i.pop(),d(p.splice(0,1)[0])}return a+c(r.substr(o))}(r,m(s),u)),a.value=y(a.value),e.innerHTML=a.value,e.className=function(e,t,n){var r=t?o[t]:n,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}(e.className,d,a.language),e.result={language:a.language,re:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance}))}function x(){if(!x.called){x.called=!0;var e=document.querySelectorAll("pre code");t.forEach.call(e,_)}}function w(e){return e=(e||"").toLowerCase(),r[e]||r[o[e]]}function k(e){var t=w(e);return t&&!t.disableAutodetect}return e.highlight=g,e.highlightAuto=b,e.fixMarkup=y,e.highlightBlock=_,e.configure=function(e){l=h(l,e)},e.initHighlighting=x,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",x,!1),addEventListener("load",x,!1)},e.registerLanguage=function(t,n){var a=r[t]=n(e);a.aliases&&a.aliases.forEach(function(e){o[e]=t})},e.listLanguages=function(){return n(r)},e.getLanguage=w,e.autoDetection=k,e.inherit=h,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(t,n,r){var o=e.inherit({className:"comment",begin:t,end:n,contains:[]},r||{});return o.contains.push(e.PHRASAL_WORDS_MODE),o.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),o},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0},e})},function(e,t,n){"use strict";var r=u(n(1)),o=u(n(62)),a=n(4),i=u(n(117)),s=u(n(346));function u(e){return e&&e.__esModule?e:{default:e}}i.default.registerLanguage("javascript",n(347)),i.default.registerLanguage("diff",n(348));var l=document.querySelector("body"),c=JSON.parse(l.getAttribute("data-raw")),f=JSON.parse(l.getAttribute("data-config")),d=new s.default(c,f);l.removeAttribute("data-raw"),l.removeAttribute("data-config"),window.marge=d,o.default.render(r.default.createElement(a.MochawesomeReport,{store:d}),document.getElementById("report"))},function(e,t,n){"use strict";var r=n(61),o="function"==typeof Symbol&&Symbol.for,a=o?Symbol.for("react.element"):60103,i=o?Symbol.for("react.portal"):60106,s=o?Symbol.for("react.fragment"):60107,u=o?Symbol.for("react.strict_mode"):60108,l=o?Symbol.for("react.profiler"):60114,c=o?Symbol.for("react.provider"):60109,f=o?Symbol.for("react.context"):60110,d=o?Symbol.for("react.concurrent_mode"):60111,p=o?Symbol.for("react.forward_ref"):60112,h=o?Symbol.for("react.suspense"):60113,m=o?Symbol.for("react.memo"):60115,v=o?Symbol.for("react.lazy"):60116,g="function"==typeof Symbol&&Symbol.iterator;function b(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rM.length&&M.push(e)}function A(e,t,n){return null==e?0:function e(t,n,r,o){var s=typeof t;"undefined"!==s&&"boolean"!==s||(t=null);var u=!1;if(null===t)u=!0;else switch(s){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case a:case i:u=!0}}if(u)return r(o,t,""===n?"."+I(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var l=0;lthis.eventPool.length&&this.eventPool.push(e)}function fe(e){e.eventPool=[],e.getPooled=le,e.release=ce}o(ue.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ie)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ie)},persist:function(){this.isPersistent=ie},isPersistent:se,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=se,this._dispatchInstances=this._dispatchListeners=null}}),ue.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},ue.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var a=new t;return o(a,n.prototype),n.prototype=a,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,fe(n),n},fe(ue);var de=ue.extend({data:null}),pe=ue.extend({data:null}),he=[9,13,27,32],me=W&&"CompositionEvent"in window,ve=null;W&&"documentMode"in document&&(ve=document.documentMode);var ge=W&&"TextEvent"in window&&!ve,be=W&&(!me||ve&&8=ve),ye=String.fromCharCode(32),_e={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},xe=!1;function we(e,t){switch(e){case"keyup":return-1!==he.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function ke(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Ee=!1;var Oe={eventTypes:_e,extractEvents:function(e,t,n,r){var o=void 0,a=void 0;if(me)e:{switch(e){case"compositionstart":o=_e.compositionStart;break e;case"compositionend":o=_e.compositionEnd;break e;case"compositionupdate":o=_e.compositionUpdate;break e}o=void 0}else Ee?we(e,n)&&(o=_e.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=_e.compositionStart);return o?(be&&"ko"!==n.locale&&(Ee||o!==_e.compositionStart?o===_e.compositionEnd&&Ee&&(a=ae()):(re="value"in(ne=r)?ne.value:ne.textContent,Ee=!0)),o=de.getPooled(o,t,n,r),a?o.data=a:null!==(a=ke(n))&&(o.data=a),Y(o),a=o):a=null,(e=ge?function(e,t){switch(e){case"compositionend":return ke(t);case"keypress":return 32!==t.which?null:(xe=!0,ye);case"textInput":return(e=t.data)===ye&&xe?null:e;default:return null}}(e,n):function(e,t){if(Ee)return"compositionend"===e||!me&&we(e,t)?(e=ae(),oe=re=ne=null,Ee=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1