diff --git a/.travis.yml b/.travis.yml index 3502019..369cecc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,35 +14,35 @@ branches: jobs: include: - - stage: Seneca-Jobqueue-Flowz - script: - - 'if [ ${TRAVIS_BRANCH} = "master" ]; then - docker login -u="$DOCKER_USERNAME_FLOWZ" -p="$DOCKER_PASSWORD_FLOWZ"; - docker build -t seneca_jobqueue_flowz:latest ./JobQue/; - docker images; - docker tag seneca_jobqueue_flowz:latest $DOCKER_USERNAME_FLOWZ/seneca_jobqueue_flowz:latest; - docker push $DOCKER_USERNAME_FLOWZ/seneca_jobqueue_flowz:latest; - elif [ ${TRAVIS_BRANCH} = "develop" ]; then - docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; - docker build -t seneca_jobqueue_flowz:dev ./JobQue/; - docker images; - docker tag seneca_jobqueue_flowz:dev $DOCKER_USERNAME/seneca_jobqueue_flowz:dev; - docker push $DOCKER_USERNAME/seneca_jobqueue_flowz:dev; - elif [ ${TRAVIS_BRANCH} = "staging" ]; then - docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; - docker build -t seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER ./JobQue/; - docker tag seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER $DOCKER_USERNAME/seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER; - docker tag seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER $DOCKER_USERNAME/seneca_jobqueue_flowz:staging; - docker images; - docker push $DOCKER_USERNAME/seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER; - docker push $DOCKER_USERNAME/seneca_jobqueue_flowz:staging; - else - docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; - docker build -t seneca_jobqueue_flowz:qa ./JobQue/; - docker images; - docker tag seneca_jobqueue_flowz:qa $DOCKER_USERNAME/seneca_jobqueue_flowz:qa; - docker push $DOCKER_USERNAME/seneca_jobqueue_flowz:qa; - fi' +# - stage: Seneca-Jobqueue-Flowz +# script: +# - 'if [ ${TRAVIS_BRANCH} = "master" ]; then +# docker login -u="$DOCKER_USERNAME_FLOWZ" -p="$DOCKER_PASSWORD_FLOWZ"; +# docker build -t seneca_jobqueue_flowz:latest ./JobQue/; +# docker images; +# docker tag seneca_jobqueue_flowz:latest $DOCKER_USERNAME_FLOWZ/seneca_jobqueue_flowz:latest; +# docker push $DOCKER_USERNAME_FLOWZ/seneca_jobqueue_flowz:latest; +# elif [ ${TRAVIS_BRANCH} = "develop" ]; then +# docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; +# docker build -t seneca_jobqueue_flowz:dev ./JobQue/; +# docker images; +# docker tag seneca_jobqueue_flowz:dev $DOCKER_USERNAME/seneca_jobqueue_flowz:dev; +# docker push $DOCKER_USERNAME/seneca_jobqueue_flowz:dev; +# elif [ ${TRAVIS_BRANCH} = "staging" ]; then +# docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; +# docker build -t seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER ./JobQue/; +# docker tag seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER $DOCKER_USERNAME/seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER; +# docker tag seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER $DOCKER_USERNAME/seneca_jobqueue_flowz:staging; +# docker images; +# docker push $DOCKER_USERNAME/seneca_jobqueue_flowz:$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER; +# docker push $DOCKER_USERNAME/seneca_jobqueue_flowz:staging; +# else +# docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; +# docker build -t seneca_jobqueue_flowz:qa ./JobQue/; +# docker images; +# docker tag seneca_jobqueue_flowz:qa $DOCKER_USERNAME/seneca_jobqueue_flowz:qa; +# docker push $DOCKER_USERNAME/seneca_jobqueue_flowz:qa; +# fi' - stage: Flowz-Frontend-Flowz script: - 'if [ ${TRAVIS_BRANCH} = "master" ]; then diff --git a/client/.gitignore b/client/.gitignore index 2165b37..4105b14 100644 --- a/client/.gitignore +++ b/client/.gitignore @@ -7,7 +7,6 @@ yarn-error.log* test/unit/coverage test/e2e/reports selenium-debug.log -package-lock.json # Editor directories and files .idea diff --git a/client/index.html b/client/index.html index 3c7222c..f71cdb7 100644 --- a/client/index.html +++ b/client/index.html @@ -3,52 +3,14 @@ - flowz-schema - - + Workflow - - Flowz Builder | The next generation Dynamic website builder. - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + diff --git a/client/package-lock.json b/client/package-lock.json new file mode 100644 index 0000000..c136b08 --- /dev/null +++ b/client/package-lock.json @@ -0,0 +1,13938 @@ +{ + "name": "flowz-schema", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@deveodk/vue-tinymce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@deveodk/vue-tinymce/-/vue-tinymce-1.0.0.tgz", + "integrity": "sha512-aKprH9wKLUcTX2GhHyUTM7Jfkq4foVTL7wxVxOt94qIwSWcpcxrx7hEcZ13Bn4EyoNAN6Qvdcvi4J/rCYi8jQg==", + "requires": { + "tinymce": "4.7.13" + } + }, + "@feathersjs/errors": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@feathersjs/errors/-/errors-3.3.2.tgz", + "integrity": "sha512-9a2KHFMPRQw6zTuDo06YbgWyqXiWOqCi6iXI8kMrLDKAmkRvJjrCq+SXEJuz44hTxqBJtJBaW164Mez8tQqJbw==", + "requires": { + "debug": "3.1.0" + } + }, + "@tinymce/tinymce-vue": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-1.0.9.tgz", + "integrity": "sha512-C0Vry2SNgTGJp3Q6Emp2SZ5jtO9TmHR5uMOR2XCBWy1HX8+OLrf6RZjWz0ZpIacVHEkHycMIHCUiWWQ4iqogGw==", + "requires": { + "vue": "2.5.17" + } + }, + "@types/node": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.2.tgz", + "integrity": "sha512-9NfEUDp3tgRhmoxzTpTo+lq+KIVFxZahuRX0LHF/9IzKHaWuoWsIrrJ61zw5cnnlGINX8lqJzXYfQTOICS5Q+A==" + }, + "@types/socket.io": { + "version": "1.4.34", + "resolved": "https://registry.npmjs.org/@types/socket.io/-/socket.io-1.4.34.tgz", + "integrity": "sha512-f3CZ8AJak0WP71b+AOzx2jkNzpMg7po9zHOhoaAiY3p2Y4lfvnNIQ5b8SQ2NJSXeg2mVgwLz+VTRZnEq6dCNGw==", + "requires": { + "@types/node": "10.3.2" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "requires": { + "mime-types": "2.1.18", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz", + "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "3.3.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "agent-base": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", + "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", + "dev": true, + "requires": { + "extend": "3.0.1", + "semver": "5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-errors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", + "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=" + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "animate.css": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-3.7.0.tgz", + "integrity": "sha512-u3iMXDJr0cxMdQocIciDiou9Au4L5f9uT+/jCtprw3s1j3HcfCuI+khF+90Ps2KdsEhM2soF7SXB4WUvI3HlXg==" + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", + "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==", + "dev": true + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + }, + "async-validator": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.2.tgz", + "integrity": "sha1-t3WXIm6WJC+NUxwNRq4pX2JCK6Q=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "dev": true + }, + "autoprefixer": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", + "dev": true, + "requires": { + "browserslist": "2.11.3", + "caniuse-lite": "1.0.30000851", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.22", + "postcss-value-parser": "3.3.0" + } + }, + "aws": { + "version": "0.0.3-2", + "resolved": "https://registry.npmjs.org/aws/-/aws-0.0.3-2.tgz", + "integrity": "sha1-jEwXDEc2SzCf3+Sw/kwXEESD+kY=", + "requires": { + "vows": "0.8.2" + } + }, + "aws-sdk": { + "version": "2.313.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.313.0.tgz", + "integrity": "sha512-Hh1UhQV7PNv220cEH/lElWxjKMpcHBpLVhVDuOmEM5I92ndhkM0R4owDpDjbvz8eBu6+7ZrtvAQwZlBjbCLWGA==", + "requires": { + "buffer": "4.9.1", + "events": "1.1.1", + "ieee754": "1.1.8", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.1.0", + "xml2js": "0.4.19" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" + }, + "axios": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.16.2.tgz", + "integrity": "sha1-uk+S8XFn37q0CYN4VFS5rBScPG0=", + "requires": { + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-eslint": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", + "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-loader": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.1.tgz", + "integrity": "sha1-uHE0yLEuPkwqlOBUYIW8aAorhIg=", + "requires": { + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.10.1", + "test-exclude": "4.2.1" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=" + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "requires": { + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-vue-jsx": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.7.0.tgz", + "integrity": "sha512-W39X07/n3oJMQd8tALBO+440NraGSF//Lo1ydd/9Nme3+QiRGFBb1Q39T9iixh0jZPPbfv3so18tNoIgLatymw==", + "requires": { + "esutils": "2.0.2" + } + }, + "babel-polyfill": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "regenerator-runtime": "0.10.5" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "3.2.8", + "invariant": "2.2.4", + "semver": "5.5.1" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000851", + "electron-to-chromium": "1.3.48" + } + } + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "requires": { + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-preset-stage-3": "6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "requires": { + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-generator-functions": "6.24.1", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=" + }, + "batch-processor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", + "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "bfj-node4": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", + "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "check-types": "7.4.0", + "tryer": "1.0.0" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.16" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "bootstrap": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", + "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=" + }, + "bootstrap-vue": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-1.5.1.tgz", + "integrity": "sha512-bkob7vTHA5VZN6U0Wj34Yj+6jNtqAtc6MwcsLdBz78fcy8Ju5tlYUYMDUefQ0rQH7hhdtFDn9GuDiqhUPmE1sA==", + "requires": { + "lodash.startcase": "4.4.0", + "opencollective": "1.0.3", + "popper.js": "1.14.4", + "vue-functional-data-merge": "2.0.7" + } + }, + "bpmn-js": { + "version": "0.22.1", + "resolved": "https://registry.npmjs.org/bpmn-js/-/bpmn-js-0.22.1.tgz", + "integrity": "sha1-ANVeEsSFsoonMM/pFsINDtjf09o=", + "requires": { + "bpmn-moddle": "0.14.1", + "diagram-js": "0.21.1", + "diagram-js-direct-editing": "0.19.0", + "diagram-js-origin": "0.15.2", + "ids": "0.2.2", + "inherits": "2.0.3", + "lodash": "3.10.1", + "min-dom": "0.2.0", + "object-refs": "0.1.1", + "tiny-svg": "0.1.3" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "bpmn-js-properties-panel": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/bpmn-js-properties-panel/-/bpmn-js-properties-panel-0.16.1.tgz", + "integrity": "sha1-X5YMFx6u2K8lkzI0b2+ZZ3Eanpk=", + "requires": { + "ids": "0.2.2", + "inherits": "2.0.3", + "lodash": "3.10.1", + "min-dom": "0.2.0", + "scroll-tabs": "0.2.1", + "selection-update": "0.1.2" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "bpmn-moddle": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/bpmn-moddle/-/bpmn-moddle-0.14.1.tgz", + "integrity": "sha512-TowGXEv2oXX4f620cdtnqqDdxuBURhZeBdU5GO1l5/joG4Joe3nvXOy5cST2QlQ3RS4cQU5SHnmHfyevyK2ZZg==", + "requires": { + "lodash": "3.10.1", + "moddle": "1.2.1", + "moddle-xml": "1.1.1" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "1.2.0", + "browserify-des": "1.0.1", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz", + "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "1.0.6" + } + }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000851", + "electron-to-chromium": "1.3.48" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "0.2.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "camunda-bpmn-moddle": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/camunda-bpmn-moddle/-/camunda-bpmn-moddle-0.13.0.tgz", + "integrity": "sha1-j+MTsG8pWBJvmMe3cvWWLDwkb/M=" + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000851", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000851", + "electron-to-chromium": "1.3.48" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30000851", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000851.tgz", + "integrity": "sha1-ig08pN3nIGhWCsyYus91o1no0+M=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000851", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000851.tgz", + "integrity": "sha512-Y1ecA1cL9wg0vni8t33nBw/poX8ypm+2c3fbwAESj8cm4ufK9CBFQ1+nUK8Dp5dtFo5Fc3JzkI5DKmQbuIo6hQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "dev": true, + "requires": { + "assertion-error": "1.1.0", + "deep-eql": "0.1.3", + "type-detect": "1.0.0" + } + }, + "chai-nightwatch": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz", + "integrity": "sha1-HKVt52jTwIaP5/wvTTLC/olOa+k=", + "dev": true, + "requires": { + "assertion-error": "1.0.0", + "deep-eql": "0.1.3" + }, + "dependencies": { + "assertion-error": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", + "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=", + "dev": true + } + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "check-types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", + "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==", + "dev": true + }, + "child_process": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/child_process/-/child_process-1.0.2.tgz", + "integrity": "sha1-sffn/HPSXn/R1FWtyU4UODAYK1o=" + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, + "chromedriver": { + "version": "2.41.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.41.0.tgz", + "integrity": "sha512-6O9HxvrSuHqmRlIgMzi0/05GsDNHqs8kaF5gNTIyaZNwRzb/RBUWH1xNNXKNxyhXSnGSalH8hWsKP5mc/npSQQ==", + "dev": true, + "requires": { + "del": "3.0.0", + "extract-zip": "1.6.7", + "kew": "0.7.0", + "mkdirp": "0.5.1", + "request": "2.87.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "1.1.3" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + } + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "clean-css": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", + "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "coalescy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/coalescy/-/coalescy-1.0.0.tgz", + "integrity": "sha1-SwZYRrg2NhrabEtKSr9LwcrDG/E=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codemirror": { + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.40.0.tgz", + "integrity": "sha512-plTYonQ8SwbtS4m9n88mPDR+G7JwFrAL6774VjvoNH8wQJNSJOx5JdWmgRe3pCyuDI4s+vvi4CIuQnoduUTVug==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "1.0.4", + "color-convert": "1.9.1", + "color-string": "0.3.0" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "0.11.4", + "css-color-names": "0.0.4", + "has": "1.0.3" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combine-lists": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", + "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-classes": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", + "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=", + "requires": { + "component-indexof": "0.0.3" + } + }, + "component-closest": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/component-closest/-/component-closest-0.1.4.tgz", + "integrity": "sha1-W3L8UtkGB+dRFcr9w7B+JzSN5xs=", + "requires": { + "component-matches-selector": "0.1.6" + } + }, + "component-delegate": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/component-delegate/-/component-delegate-0.2.4.tgz", + "integrity": "sha1-3FAodZ6mgb6oSj1rvWUCB8O+sTg=", + "requires": { + "component-closest": "0.1.4", + "component-event": "0.1.4" + } + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "component-event": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/component-event/-/component-event-0.1.4.tgz", + "integrity": "sha1-PeePwoeCOBeH4kvyp8U2vwFCybQ=" + }, + "component-indexof": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", + "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "component-matches-selector": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/component-matches-selector/-/component-matches-selector-0.1.6.tgz", + "integrity": "sha1-e2MOBOfgw7ABnzF0n9cK9e2Lly4=", + "requires": { + "component-query": "0.0.3" + } + }, + "component-query": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-query/-/component-query-0.0.3.tgz", + "integrity": "sha1-B/Sdq3Bx+pYGcl31PmB/RorNqs8=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + } + }, + "config-chain": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", + "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", + "dev": true, + "requires": { + "ini": "1.3.5", + "proto-list": "1.2.4" + } + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "1.3.2", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "consolidate": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", + "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", + "dev": true, + "requires": { + "bluebird": "3.5.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "globby": "7.1.1", + "is-glob": "4.0.0", + "loader-utils": "1.1.0", + "minimatch": "3.0.4", + "p-limit": "1.3.0", + "serialize-javascript": "1.5.0" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.8", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.7.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "cross-env": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz", + "integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==", + "dev": true, + "requires": { + "cross-spawn": "6.0.5", + "is-windows": "1.0.2" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.5", + "path-key": "2.0.1", + "semver": "5.5.1", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + } + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + } + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.10.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.0", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.2.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.0", + "source-list-map": "2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" + }, + "dependencies": { + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + } + } + }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.3", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.3", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.0", + "postcss-zindex": "2.2.0" + }, + "dependencies": { + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000851", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000851", + "electron-to-chromium": "1.3.48" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "1.2.3", + "source-map": "0.5.7" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.45" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "requires": { + "type-detect": "0.1.1" + }, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true + } + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "dev": true, + "requires": { + "ast-types": "0.11.5", + "escodegen": "1.10.0", + "esprima": "3.1.3" + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diagram-js": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/diagram-js/-/diagram-js-0.21.1.tgz", + "integrity": "sha1-Vydsxg/PCvoeaHWLhH6egaLg95g=", + "requires": { + "didi": "0.1.1", + "hammerjs": "2.0.8", + "inherits": "2.0.3", + "lodash": "3.10.1", + "min-dom": "0.2.0", + "object-refs": "0.1.1", + "tiny-svg": "0.1.3" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "diagram-js-direct-editing": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/diagram-js-direct-editing/-/diagram-js-direct-editing-0.19.0.tgz", + "integrity": "sha1-fZ6OZcJDV+S3mdyVWSjFQCTfN7A=", + "requires": { + "lodash": "3.10.1", + "min-dom": "0.2.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "diagram-js-origin": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/diagram-js-origin/-/diagram-js-origin-0.15.2.tgz", + "integrity": "sha1-nOCpOXe7PDYdY8wX3YnfqcSF3y4=", + "requires": { + "tiny-svg": "0.1.3" + } + }, + "didi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/didi/-/didi-0.1.1.tgz", + "integrity": "sha1-aG5EaRucpSurG4nDxmqBdLMkmGQ=" + }, + "diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + } + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "dom-converter": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", + "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", + "dev": true, + "requires": { + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "1.0.1", + "ent": "2.2.0", + "extend": "3.0.1", + "void-elements": "2.0.1" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/domify/-/domify-1.4.0.tgz", + "integrity": "sha1-EUg2F/dk+GlZdbS9x5sU8IA7Yps=" + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "editorconfig": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.3.tgz", + "integrity": "sha512-WkjsUNVCu+ITKDj73QDvi0trvpdDWdkDyHybDGSXPfekLCqwmpD7CP7iPbvBgosNuLcI96XTDwNa75JyFl7tEQ==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "commander": "2.15.1", + "lru-cache": "3.2.0", + "semver": "5.5.1", + "sigmund": "1.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", + "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.48", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz", + "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=", + "dev": true + }, + "element-resize-detector": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.1.14.tgz", + "integrity": "sha1-rwZKCmGKggrVcKlcXuxbd74BKME=", + "requires": { + "batch-processor": "1.0.0" + } + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "engine.io": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz", + "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==", + "requires": { + "accepts": "1.3.5", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "3.1.0", + "engine.io-parser": "2.1.2", + "ws": "3.3.3" + } + }, + "engine.io-client": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "3.1.0", + "engine.io-parser": "2.1.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "3.3.3", + "xmlhttprequest-ssl": "1.5.5", + "yeast": "0.1.2" + } + }, + "engine.io-parser": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", + "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary2": "1.0.3" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz", + "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==", + "dev": true, + "requires": { + "stackframe": "1.0.4" + } + }, + "es5-ext": { + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "dev": true + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.10.0.tgz", + "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "chalk": "1.1.3", + "concat-stream": "1.6.2", + "debug": "2.6.9", + "doctrine": "2.1.0", + "escope": "3.6.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "glob": "7.1.2", + "globals": "9.18.0", + "ignore": "3.3.8", + "imurmurhash": "0.1.4", + "inquirer": "0.12.0", + "is-my-json-valid": "2.17.2", + "is-resolvable": "1.1.0", + "js-yaml": "3.7.0", + "json-stable-stringify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "1.2.1", + "progress": "1.1.8", + "require-uncached": "1.0.3", + "shelljs": "0.7.8", + "strip-bom": "3.0.0", + "strip-json-comments": "2.0.1", + "table": "3.8.3", + "text-table": "0.2.0", + "user-home": "2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "ansi-regex": "2.1.1", + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-width": "2.2.0", + "figures": "1.7.0", + "lodash": "4.17.10", + "readline2": "1.0.1", + "run-async": "0.1.0", + "rx-lite": "3.1.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "through": "2.3.8" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "eslint-config-standard": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz", + "integrity": "sha1-06aKr8cZFjnn7kQec0hzkCY1QpI=", + "dev": true + }, + "eslint-friendly-formatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-friendly-formatter/-/eslint-friendly-formatter-3.0.0.tgz", + "integrity": "sha1-J4h0Q1psRuwdlPoLH/SU4w7wQpA=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "coalescy": "1.0.0", + "extend": "3.0.1", + "minimist": "1.2.0", + "text-table": "0.2.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + } + } + }, + "eslint-loader": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.9.0.tgz", + "integrity": "sha512-40aN976qSNPyb9ejTqjEthZITpls1SVKtwguahmH1dzGCwQU/vySE+xX33VZmD8csU0ahVNCtFlsPgKqRBiqgg==", + "dev": true, + "requires": { + "loader-fs-cache": "1.0.1", + "loader-utils": "1.1.0", + "object-assign": "4.1.1", + "object-hash": "1.3.0", + "rimraf": "2.6.2" + } + }, + "eslint-plugin-html": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-3.2.2.tgz", + "integrity": "sha512-sSuafathF6ImPrzF2vUKEJY6Llq06d/riMTMzlsruDRDhNsQMYp2viUKo+jx+JRr1QevskeUpQcuptp2gN1XVQ==", + "dev": true, + "requires": { + "htmlparser2": "3.9.2", + "semver": "5.5.1" + } + }, + "eslint-plugin-promise": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz", + "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.3.1.tgz", + "integrity": "sha1-Z2W9Km2ezce98bFFrkuzDit7hvg=", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "5.6.2", + "acorn-jsx": "3.0.1" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45" + } + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "eventsource-polyfill": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz", + "integrity": "sha1-EODRh/ERsWfyj9q5GIQ859gY8Tw=", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.2" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "expand-braces": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", + "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "dev": true, + "requires": { + "array-slice": "0.2.3", + "array-unique": "0.2.1", + "braces": "0.1.5" + }, + "dependencies": { + "braces": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", + "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", + "dev": true, + "requires": { + "expand-range": "0.1.1" + } + }, + "expand-range": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", + "dev": true, + "requires": { + "is-number": "0.1.1", + "repeat-string": "0.2.2" + } + }, + "is-number": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", + "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", + "dev": true + }, + "repeat-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", + "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.4" + } + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.3", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "1.4.0", + "type-is": "1.6.16", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.24", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "extract-text-webpack-plugin": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz", + "integrity": "sha1-dW7076gVXDaBgz+8NNpTuUF0bWw=", + "dev": true, + "requires": { + "async": "2.6.1", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0", + "webpack-sources": "1.1.0" + } + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "1.2.0" + } + }, + "feathers": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/feathers/-/feathers-2.2.4.tgz", + "integrity": "sha512-9IYKbxRKoDuerLCkYmFkQuKOwyB2SMM1kSUswDzlE0AmdzDrcfocVYb87/BsQx2j6hFkdCVFYkXq3+YPSDMT3w==", + "requires": { + "babel-runtime": "6.26.0", + "debug": "3.1.0", + "events": "1.1.1", + "express": "4.16.3", + "feathers-commons": "0.8.7", + "rubberduck": "1.1.1", + "uberproto": "1.2.0" + } + }, + "feathers-commons": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/feathers-commons/-/feathers-commons-0.8.7.tgz", + "integrity": "sha1-EcbyW1N3RamD6NYVUtfbiTLVN4I=" + }, + "feathers-errors": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/feathers-errors/-/feathers-errors-2.9.2.tgz", + "integrity": "sha512-qwIX97bNW7+1tWVG073+omUA0rCYKJtTtwuzTrrvfrtdr8J8Dk1Fy4iaV9Fa6/YBD5AZu0lsplPE0iu4u/d4GQ==", + "requires": { + "debug": "3.1.0" + } + }, + "feathers-hooks": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/feathers-hooks/-/feathers-hooks-2.1.2.tgz", + "integrity": "sha512-XQKhbo4d4TuXyco+tbHmKn5wo8QhdSNslJ/+zckNYfUzLmrN8L3uB4Utf0/ivcgwWxJtS1kVhEETBN4TDxuWFg==", + "requires": { + "feathers-commons": "0.8.7", + "uberproto": "1.2.0" + } + }, + "feathers-socket-commons": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/feathers-socket-commons/-/feathers-socket-commons-2.4.0.tgz", + "integrity": "sha1-Bi79V/mocWZEFFuZOl9ycJlp8eE=", + "requires": { + "debug": "2.6.9", + "feathers-commons": "0.8.7", + "feathers-errors": "2.9.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "feathers-socketio": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/feathers-socketio/-/feathers-socketio-2.0.1.tgz", + "integrity": "sha512-3ByXVr6UGyGN6TPRN+U5IhENYrSgeuADhbKWLG5cq2WvYH9h2N1l3cj7WBVsfRektUgVw/HkGNAoExy8yuknMA==", + "requires": { + "@types/socket.io": "1.4.34", + "debug": "3.1.0", + "feathers-socket-commons": "2.4.0", + "socket.io": "2.1.1", + "uberproto": "1.2.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "file-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "1.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "6.5.3", + "ajv-errors": "1.0.0", + "ajv-keywords": "3.2.0" + } + } + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + }, + "dependencies": { + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" + } + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "flowz-subscription": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/flowz-subscription/-/flowz-subscription-0.2.10.tgz", + "integrity": "sha512-5NpJ1VV/9g2gFXljN8+4HmWXenHgAMKiBQ2bdfVyjd9FZRIW8YDNnqfNiGklJnQ3qU4vgRfC6z+RYXa31zU7BQ==", + "requires": { + "request": "2.87.0", + "request-promise": "4.2.2" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "follow-redirects": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "requires": { + "debug": "3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "formatio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", + "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", + "dev": true, + "requires": { + "samsam": "1.3.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "friendly-errors-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "error-stack-parser": "2.0.2", + "string-width": "2.1.1" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + } + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.6" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "dev": true, + "requires": { + "readable-stream": "1.1.14", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-uri": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz", + "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==", + "dev": true, + "requires": { + "data-uri-to-buffer": "1.2.0", + "debug": "2.6.9", + "extend": "3.0.1", + "file-uri-to-path": "1.0.0", + "ftp": "0.3.10", + "readable-stream": "2.3.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "pify": "3.0.0" + } + }, + "hammerjs": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-binary": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", + "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dev": true, + "requires": { + "is-stream": "1.1.0", + "pinkie-promise": "2.0.1" + } + }, + "hat": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", + "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=" + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.16.tgz", + "integrity": "sha512-zP5EfLSpiLRp0aAgud4CQXPQZm9kXwWjR/cF0PfdOj+jjWnOaCgeZcll4kYXSvIBPeUMmyaSc7mM4IDtA+kboA==", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.1.11", + "commander": "2.15.1", + "he": "1.1.1", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.3.28" + } + }, + "html-webpack-plugin": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz", + "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "html-minifier": "3.5.16", + "loader-utils": "0.2.17", + "lodash": "4.17.10", + "pretty-error": "2.1.1", + "toposort": "1.0.7" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.5.1", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.4.0" + } + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "3.1.0", + "follow-redirects": "1.5.0", + "requires-port": "1.0.0" + } + }, + "http-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz", + "integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=", + "dev": true, + "requires": { + "agent-base": "2.1.1", + "debug": "2.6.9", + "extend": "3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "http-proxy-middleware": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", + "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "dev": true, + "requires": { + "http-proxy": "1.17.0", + "is-glob": "3.1.0", + "lodash": "4.17.10", + "micromatch": "2.3.11" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", + "dev": true, + "requires": { + "agent-base": "2.1.1", + "debug": "2.6.9", + "extend": "3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "hyperscript-attribute-to-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hyperscript-attribute-to-property/-/hyperscript-attribute-to-property-1.0.1.tgz", + "integrity": "sha512-N++cqwJ58/cTBYh4zUhqnlOEF7GgStWxIqjNHFDHD13fmH7Iah4PksZLcxqmxAwn3loUyXSVGw1NTnRlOTqN5Q==" + }, + "hyperx": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/hyperx/-/hyperx-2.4.0.tgz", + "integrity": "sha512-43jbOQfVkm9U0oAyBZ4Vt2eB0hZWS5EyrOhR3ZbgUrcprutGu9s/C476OVFL3QU1iynKO5s9kZsWrZm19gJKjg==", + "requires": { + "hyperscript-attribute-to-property": "1.0.1" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": "2.1.2" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "6.0.22" + } + }, + "ids": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ids/-/ids-0.2.2.tgz", + "integrity": "sha512-icIO8S7A7Hat9x/59VYjS5uwfBU1xRTDxeFC4t9wNceLxZFm2JbPhO4lC/xhFqFNVaxw2idwpLgUfkVQrjsxIw==", + "requires": { + "hat": "0.0.3" + } + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", + "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", + "requires": { + "ansi-escapes": "1.4.0", + "chalk": "1.1.3", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx": "4.1.0", + "string-width": "2.1.1", + "strip-ansi": "3.0.1", + "through": "2.3.8" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz", + "integrity": "sha1-x+NWzeoiWucbNtcPLnGpK6TkJZA=", + "dev": true + }, + "ipaddr.js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "dev": true, + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "1.1.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isbinaryfile": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", + "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.9", + "async": "1.5.2", + "escodegen": "1.8.1", + "esprima": "2.7.3", + "glob": "5.0.15", + "handlebars": "4.0.11", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "once": "1.4.0", + "resolve": "1.1.7", + "supports-color": "3.2.3", + "which": "1.3.1", + "wordwrap": "1.0.0" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "2.7.3", + "estraverse": "1.9.3", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.2.0" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", + "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", + "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.1" + } + }, + "iview": { + "version": "2.14.3", + "resolved": "https://registry.npmjs.org/iview/-/iview-2.14.3.tgz", + "integrity": "sha512-jK5CBNuNBKUZWooCVlipBIUkNnGeZHRtypeuMo9VhQmJ9cCXmuI6BalrtxBFkBCnuUXRdFD34/kSevF9Cc2kpg==", + "requires": { + "async-validator": "1.8.2", + "deepmerge": "2.1.1", + "element-resize-detector": "1.1.14", + "js-calendar": "1.2.3", + "lodash.throttle": "4.1.1", + "popper.js": "1.14.4", + "tinycolor2": "1.4.1", + "v-click-outside-x": "3.2.2" + }, + "dependencies": { + "deepmerge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz", + "integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w==" + } + } + }, + "jmespath": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + }, + "jquery": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", + "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + }, + "js-base64": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz", + "integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ==", + "dev": true + }, + "js-beautify": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.7.5.tgz", + "integrity": "sha512-9OhfAqGOrD7hoQBLJMTA+BKuKmoEtTJXzZ7WDF/9gvjtey1koVLuZqIY6c51aPDjbNdNtIXAkiWKVhziawE9Og==", + "dev": true, + "requires": { + "config-chain": "1.1.11", + "editorconfig": "0.13.3", + "mkdirp": "0.5.1", + "nopt": "3.0.6" + } + }, + "js-calendar": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/js-calendar/-/js-calendar-1.2.3.tgz", + "integrity": "sha512-dAA1/Zbp4+c5E+ARCVTIuKepXsNLzSYfzvOimiYD4S5eeP9QuplSHLcdhfqFSwyM1o1u6ku6RRRCyaZ0YAjiBw==" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "2.7.3" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + } + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "karma": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz", + "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "body-parser": "1.18.2", + "chokidar": "1.7.0", + "colors": "1.1.2", + "combine-lists": "1.0.1", + "connect": "3.6.6", + "core-js": "2.5.7", + "di": "0.0.1", + "dom-serialize": "2.2.1", + "expand-braces": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "http-proxy": "1.17.0", + "isbinaryfile": "3.0.2", + "lodash": "3.10.1", + "log4js": "0.6.38", + "mime": "1.6.0", + "minimatch": "3.0.4", + "optimist": "0.6.1", + "qjobs": "1.2.0", + "range-parser": "1.2.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.2", + "socket.io": "1.7.3", + "source-map": "0.5.7", + "tmp": "0.0.31", + "useragent": "2.3.0" + }, + "dependencies": { + "accepts": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "dev": true, + "requires": { + "mime-types": "2.1.18", + "negotiator": "0.6.1" + } + }, + "arraybuffer.slice": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", + "dev": true + }, + "component-emitter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "debug": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "engine.io": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz", + "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=", + "dev": true, + "requires": { + "accepts": "1.3.3", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "2.3.3", + "engine.io-parser": "1.3.2", + "ws": "1.1.2" + } + }, + "engine.io-client": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz", + "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "2.3.3", + "engine.io-parser": "1.3.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parsejson": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "1.1.2", + "xmlhttprequest-ssl": "1.5.3", + "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", + "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary": "0.1.7", + "wtf-8": "1.0.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "socket.io": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz", + "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=", + "dev": true, + "requires": { + "debug": "2.3.3", + "engine.io": "1.8.3", + "has-binary": "0.1.7", + "object-assign": "4.1.0", + "socket.io-adapter": "0.5.0", + "socket.io-client": "1.7.3", + "socket.io-parser": "2.3.1" + } + }, + "socket.io-adapter": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz", + "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=", + "dev": true, + "requires": { + "debug": "2.3.3", + "socket.io-parser": "2.3.1" + } + }, + "socket.io-client": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz", + "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=", + "dev": true, + "requires": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "2.3.3", + "engine.io-client": "1.8.3", + "has-binary": "0.1.7", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseuri": "0.0.5", + "socket.io-parser": "2.3.1", + "to-array": "0.1.4" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", + "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", + "dev": true, + "requires": { + "component-emitter": "1.1.2", + "debug": "2.2.0", + "isarray": "0.0.1", + "json3": "3.3.2" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "tmp": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", + "dev": true + }, + "ws": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz", + "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=", + "dev": true, + "requires": { + "options": "0.0.6", + "ultron": "1.0.2" + } + }, + "xmlhttprequest-ssl": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", + "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=", + "dev": true + } + } + }, + "karma-coverage": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz", + "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==", + "dev": true, + "requires": { + "dateformat": "1.0.12", + "istanbul": "0.4.5", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "source-map": "0.5.7" + } + }, + "karma-mocha": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz", + "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "karma-phantomjs-launcher": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz", + "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=", + "dev": true, + "requires": { + "lodash": "4.17.10", + "phantomjs-prebuilt": "2.1.16" + } + }, + "karma-phantomjs-shim": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/karma-phantomjs-shim/-/karma-phantomjs-shim-1.5.0.tgz", + "integrity": "sha512-t0h1x7btXROaGElv36TLpuoWqTnVZ/f+GJHH/qVerjbX6AENoM5brQoB9ISO3hQ6zO1k9rDSRLrY5ZZb83ANdg==", + "dev": true + }, + "karma-sinon-chai": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/karma-sinon-chai/-/karma-sinon-chai-1.3.4.tgz", + "integrity": "sha512-Oatu8tdkfWaSveM809euI6KGcNJRdoXFilz9ozSf+vPwrM73kncu54nsfkLcMqR/iht3PXASAGK9La5oU2xDKQ==", + "dev": true, + "requires": { + "lolex": "1.6.0" + } + }, + "karma-sourcemap-loader": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz", + "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "karma-spec-reporter": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.31.tgz", + "integrity": "sha1-SDDccUihVcfXoYbmMjOaDYD63sM=", + "dev": true, + "requires": { + "colors": "1.1.2" + } + }, + "karma-webpack": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.13.tgz", + "integrity": "sha512-2cyII34jfrAabbI2+4Rk4j95Nazl98FvZQhgSiqKUDarT317rxfv/EdzZ60CyATN4PQxJdO5ucR5bOOXkEVrXw==", + "dev": true, + "requires": { + "async": "2.6.1", + "babel-runtime": "6.26.0", + "loader-utils": "1.1.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "webpack-dev-middleware": "1.12.2" + } + }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "less": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", + "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", + "dev": true, + "requires": { + "errno": "0.1.7", + "graceful-fs": "4.1.11", + "image-size": "0.5.5", + "mime": "1.6.0", + "mkdirp": "0.5.1", + "promise": "7.3.1", + "request": "2.81.0", + "source-map": "0.5.7" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true, + "optional": true + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + } + } + }, + "less-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.1.0.tgz", + "integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==", + "dev": true, + "requires": { + "clone": "2.1.1", + "loader-utils": "1.1.0", + "pify": "3.0.0" + }, + "dependencies": { + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + } + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-fs-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz", + "integrity": "sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw=", + "dev": true, + "requires": { + "find-cache-dir": "0.1.1", + "mkdirp": "0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "1.1.2" + } + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "location": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/location/-/location-0.0.1.tgz", + "integrity": "sha1-+gcdITZd12Zh4ica3oyhMU3G9YA=" + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "lodash._arraycopy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", + "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=", + "dev": true + }, + "lodash._arrayeach": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", + "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash.keys": "3.1.2" + } + }, + "lodash._baseclone": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", + "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", + "dev": true, + "requires": { + "lodash._arraycopy": "3.0.0", + "lodash._arrayeach": "3.0.0", + "lodash._baseassign": "3.2.0", + "lodash._basefor": "3.0.3", + "lodash.isarray": "3.0.4", + "lodash.keys": "3.1.2" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, + "lodash._basefor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", + "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", + "dev": true + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._stack": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz", + "integrity": "sha1-dRqnbBuWSwR+dtFPxyoJP8teLdA=", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.clone": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz", + "integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=", + "dev": true, + "requires": { + "lodash._baseclone": "3.3.0", + "lodash._bindcallback": "3.0.1", + "lodash._isiterateecall": "3.0.9" + } + }, + "lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true, + "requires": { + "lodash._baseassign": "3.2.0", + "lodash._basecreate": "3.0.3", + "lodash._isiterateecall": "3.0.9" + } + }, + "lodash.defaultsdeep": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz", + "integrity": "sha1-bBpYbmxWR7DmTi15gUG4g2FYvoo=", + "dev": true, + "requires": { + "lodash._baseclone": "4.5.7", + "lodash._stack": "4.1.3", + "lodash.isplainobject": "4.0.6", + "lodash.keysin": "4.2.0", + "lodash.mergewith": "4.6.1", + "lodash.rest": "4.0.5" + }, + "dependencies": { + "lodash._baseclone": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz", + "integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=", + "dev": true + } + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "lodash.keysin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz", + "integrity": "sha1-jMP7NcLZSsxEOhhj4C+kB5nqbyg=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "lodash.rest": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz", + "integrity": "sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=", + "dev": true + }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg=" + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "2.4.1" + } + }, + "log4js": { + "version": "0.6.38", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", + "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "semver": "4.3.6" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "lolex": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz", + "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", + "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=", + "dev": true, + "requires": { + "pseudomap": "1.0.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "1.33.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "min-dom": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/min-dom/-/min-dom-0.2.0.tgz", + "integrity": "sha1-fxo/ishcBa3uez9A4AxSgDB1zV0=", + "requires": { + "component-classes": "1.2.6", + "component-closest": "0.1.4", + "component-delegate": "0.2.4", + "component-event": "0.1.4", + "component-matches-selector": "0.1.6", + "component-query": "0.0.3", + "domify": "1.4.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.6.0", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.5.1", + "stream-each": "1.2.3", + "through2": "2.0.3" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "mkpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", + "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", + "dev": true + }, + "mocha": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "he": "1.1.1", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": "1.0.1" + } + }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "mocha-nightwatch": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz", + "integrity": "sha1-kby5s73gV912d8eBJeSR5Y1mZHw=", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.2.0", + "diff": "1.4.0", + "escape-string-regexp": "1.0.5", + "glob": "7.0.5", + "growl": "1.9.2", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": "1.0.1" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true + }, + "glob": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "moddle": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/moddle/-/moddle-1.2.1.tgz", + "integrity": "sha512-YQtFv9MaZSto0LwVe/j0zSZuspvBY1XQtiRAgp9C9u5p9N3eJiSerqD7TprGs3ZoYIhpZpHvLazSm4PqqesJKA==", + "requires": { + "lodash": "3.10.1" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "moddle-xml": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/moddle-xml/-/moddle-xml-1.1.1.tgz", + "integrity": "sha512-a9GkVOVVhtE8F/49Mh8mnnex3gFIn685S3DIeUPvLkhmNlrzGIQ+cwufDkFdxjwJY66xiY3bV8SCZUgYeGyliQ==", + "requires": { + "lodash": "3.10.1", + "moddle": "1.2.1", + "sax": "0.6.1", + "tiny-stack": "0.1.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + }, + "sax": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", + "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=" + } + } + }, + "moment": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "navigator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/navigator/-/navigator-1.0.1.tgz", + "integrity": "sha1-umnBkpo5qbUOt+n1wRF4eJyveQ8=" + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + }, + "neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", + "dev": true + }, + "net": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/net/-/net-1.0.2.tgz", + "integrity": "sha1-0XV+yaf7I3HYPPR1XOPifhCCk4g=" + }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "nightwatch": { + "version": "0.9.21", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.21.tgz", + "integrity": "sha1-nnlKdRS0/V9GYC02jlBRUjKrnpA=", + "dev": true, + "requires": { + "chai-nightwatch": "0.1.1", + "ejs": "2.5.7", + "lodash.clone": "3.0.3", + "lodash.defaultsdeep": "4.3.2", + "minimatch": "3.0.3", + "mkpath": "1.0.0", + "mocha-nightwatch": "3.2.2", + "optimist": "0.6.1", + "proxy-agent": "2.0.0", + "q": "1.4.1" + }, + "dependencies": { + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + } + } + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "1.1.4" + } + }, + "node-fetch": { + "version": "1.6.3", + "resolved": "http://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", + "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.3.2", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.1", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" + } + }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "dev": true, + "requires": { + "boolbase": "1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "object-hash": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.0.tgz", + "integrity": "sha512-05KzQ70lSeGSrZJQXE5wNDiTkBJDlUT/myi6RX9dVIvz7a7Qh4oH93BQdiPMn27nldYvVQCKMUaM83AfizZlsQ==", + "dev": true + }, + "object-refs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/object-refs/-/object-refs-0.1.1.tgz", + "integrity": "sha1-NT912mM+qEamHvDfBOxrqUH4b8Q=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "1.2.0" + } + }, + "opencollective": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", + "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", + "requires": { + "babel-polyfill": "6.23.0", + "chalk": "1.1.3", + "inquirer": "3.0.6", + "minimist": "1.2.0", + "node-fetch": "1.6.3", + "opn": "4.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "opener": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", + "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", + "dev": true + }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.3" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-2.0.0.tgz", + "integrity": "sha1-UcrnEjDskaTBV2SXFeR0mODLRgs=", + "dev": true, + "requires": { + "underscore": "1.9.1", + "webpack-sources": "0.1.5" + }, + "dependencies": { + "source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true + }, + "webpack-sources": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.5.tgz", + "integrity": "sha1-qh86vw8NdNtxEcQOUAuE+WZkB1A=", + "dev": true, + "requires": { + "source-list-map": "0.1.8", + "source-map": "0.5.7" + } + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "dev": true + }, + "ora": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", + "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "log-symbols": "2.2.0" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "1.3.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pac-proxy-agent": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz", + "integrity": "sha512-QBELCWyLYPgE2Gj+4wUEiMscHrQ8nRPBzYItQNOHWavwBt25ohZHQC4qnd5IszdVVrFbLsQ+dPkm6eqdjJAmwQ==", + "dev": true, + "requires": { + "agent-base": "2.1.1", + "debug": "2.6.9", + "extend": "3.0.1", + "get-uri": "2.0.2", + "http-proxy-agent": "1.0.0", + "https-proxy-agent": "1.0.0", + "pac-resolver": "2.0.0", + "raw-body": "2.3.2", + "socks-proxy-agent": "2.1.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "pac-resolver": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz", + "integrity": "sha1-mbiNLxk/ve78HJpSnB8yYKtSd80=", + "dev": true, + "requires": { + "co": "3.0.6", + "degenerator": "1.0.4", + "ip": "1.0.1", + "netmask": "1.0.6", + "thunkify": "2.1.2" + }, + "dependencies": { + "co": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz", + "integrity": "sha1-FEXyJsXrlWE45oyawwFn6n0ua9o=", + "dev": true + } + } + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "2.3.2" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "parsejson": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", + "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", + "dev": true, + "requires": { + "better-assert": "1.0.2" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "1.0.2" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "1.0.2" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + }, + "particles.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/particles.js/-/particles.js-2.0.0.tgz", + "integrity": "sha1-IThsQyjWx/lngKIB6W7t/AnHNvY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dev": true, + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "dev": true, + "requires": { + "es6-promise": "4.2.4", + "extract-zip": "1.6.7", + "fs-extra": "1.0.0", + "hasha": "2.2.0", + "kew": "0.7.0", + "progress": "1.1.8", + "request": "2.87.0", + "request-progress": "2.0.1", + "which": "1.3.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "2.1.0" + } + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "popper.js": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.4.tgz", + "integrity": "sha1-juwdj/AqWjoVLdQ0FKFce3n9abY=" + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-load-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1", + "postcss-load-options": "1.2.0", + "postcss-load-plugins": "2.3.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.2" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000851", + "electron-to-chromium": "1.3.48" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "uniqs": "2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", + "dev": true, + "requires": { + "postcss": "6.0.22" + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.22" + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.22" + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.22" + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "svgo": "0.7.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "2.0.1", + "utila": "0.4.0" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "optional": true, + "requires": { + "asap": "2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.6.0" + } + }, + "proxy-agent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz", + "integrity": "sha1-V+tTR6qAXXTsaByyVknbo5yTNJk=", + "dev": true, + "requires": { + "agent-base": "2.1.1", + "debug": "2.6.9", + "extend": "3.0.1", + "http-proxy-agent": "1.0.0", + "https-proxy-agent": "1.0.0", + "lru-cache": "2.6.5", + "pac-proxy-agent": "1.1.0", + "socks-proxy-agent": "2.1.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "lru-cache": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz", + "integrity": "sha1-5W1jVBSO3o13B7WNFDIg/QjfD9U=", + "dev": true + } + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" + }, + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randomatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", + "dev": true, + "requires": { + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.4.0" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "mute-stream": "0.0.5" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "1.7.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, + "requires": { + "balanced-match": "0.4.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "0.5.0" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", + "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-converter": "0.1.4", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.3.3" + }, + "dependencies": { + "domhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "htmlparser2": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "dev": true, + "requires": { + "throttleit": "1.0.0" + } + }, + "request-promise": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.2.tgz", + "integrity": "sha1-0epG1lSm7k+O5qT+oQGMIpEZBLQ=", + "requires": { + "bluebird": "3.5.1", + "request-promise-core": "1.1.1", + "stealthy-require": "1.1.1", + "tough-cookie": "2.3.4" + } + }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "requires": { + "lodash": "4.17.10" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "rubberduck": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rubberduck/-/rubberduck-1.1.1.tgz", + "integrity": "sha1-zSzaS4ZxeBNer8mVpxOE9fdD2wI=" + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "samsam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", + "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", + "dev": true + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + }, + "scroll-tabs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/scroll-tabs/-/scroll-tabs-0.2.1.tgz", + "integrity": "sha1-dw1GK0D2M7nK5u7jUh94XEnaj28=", + "requires": { + "events": "1.1.1", + "inherits": "2.0.3", + "lodash": "3.10.1", + "min-dom": "0.2.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "selection-update": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/selection-update/-/selection-update-0.1.2.tgz", + "integrity": "sha1-gDoETcxu2rWjrmSPXwNX6JrWa5Y=" + }, + "selenium-server": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/selenium-server/-/selenium-server-3.14.0.tgz", + "integrity": "sha512-+CCi1ED+7f36xpeGUqB8bWHde0To+9ZtegBHwWkbd9NsZcvANrtr8wlRNqHSD8yGmC0F7rixbgwiJEK9mTCLww==", + "dev": true + }, + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "dev": true + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + } + } + }, + "serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "dev": true + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "7.1.2", + "interpret": "1.1.0", + "rechoir": "0.6.2" + } + }, + "shvl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/shvl/-/shvl-1.3.1.tgz", + "integrity": "sha512-+rRPP46hloYUAEImJcqprUgXu+05Ikqr4h4V+w5i2zJy37nAqtkQKufs3+3S2fDq6JNRrHMIQhB/Vaex+jgAAw==" + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "sinon": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.4.1.tgz", + "integrity": "sha512-vFTrO9Wt0ECffDYIPSP/E5bBugt0UjcBQOfQUMh66xzkyPEnhl/vM2LRZi2ajuTdkH07sA6DzrM6KvdvGIH8xw==", + "dev": true, + "requires": { + "diff": "3.2.0", + "formatio": "1.2.0", + "lolex": "1.6.0", + "native-promise-only": "0.8.1", + "path-to-regexp": "1.7.0", + "samsam": "1.3.0", + "text-encoding": "0.6.4", + "type-detect": "4.0.8" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + } + } + }, + "sinon-chai": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.14.0.tgz", + "integrity": "sha512-9stIF1utB0ywNHNT7RgiXbdmen8QDCRsrTjw+G9TgKt1Yexjiv8TOWZ6WHsTPz57Yky3DIswZvEqX8fpuHNDtQ==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "smart-buffer": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.16.3" + } + }, + "socket.io": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "requires": { + "debug": "3.1.0", + "engine.io": "3.2.0", + "has-binary2": "1.0.3", + "socket.io-adapter": "1.1.1", + "socket.io-client": "2.1.1", + "socket.io-parser": "3.2.0" + } + }, + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" + }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "3.1.0", + "engine.io-client": "3.2.1", + "has-binary2": "1.0.3", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "3.2.0", + "to-array": "0.1.4" + } + }, + "socket.io-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "requires": { + "component-emitter": "1.2.1", + "debug": "3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "socks": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", + "dev": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "1.1.15" + }, + "dependencies": { + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + } + } + }, + "socks-proxy-agent": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz", + "integrity": "sha512-sFtmYqdUK5dAMh85H0LEVFUCO7OhJJe1/z2x/Z6mxp3s7/QPf1RkZmpZy+BpuU0bEjcV9npqKjq9Y3kwFUjnxw==", + "dev": true, + "requires": { + "agent-base": "2.1.1", + "extend": "3.0.1", + "socks": "1.1.10" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "split.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.3.5.tgz", + "integrity": "sha1-YuLOZtLPkcx3SqXwdJ/yUTgDn1A=" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "stackframe": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", + "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true, + "optional": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.1", + "whet.extend": "0.9.9" + } + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "requires": { + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "chalk": "1.1.3", + "lodash": "4.17.10", + "slice-ansi": "0.0.4", + "string-width": "2.1.1" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + } + } + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true + }, + "test-exclude": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", + "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", + "dev": true + }, + "time-stamp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", + "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "tiny-cookie": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tiny-cookie/-/tiny-cookie-1.0.1.tgz", + "integrity": "sha1-dTeGB5xkKjw9CyrMrWAPjeEZrCo=" + }, + "tiny-stack": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tiny-stack/-/tiny-stack-0.1.0.tgz", + "integrity": "sha1-GoSBc/wL/FTne7LpUE0tPIrXliE=" + }, + "tiny-svg": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/tiny-svg/-/tiny-svg-0.1.3.tgz", + "integrity": "sha512-xSijn0Y49l4IzGAPpVg2Pzmey7y7Toa0sTTAtAZb3LGSKbC+LLqGv7ecaORgeeYAIup0hChnsc2/p8cEtIl/TQ==" + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "tinymce": { + "version": "4.7.13", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-4.7.13.tgz", + "integrity": "sha512-6QbNYGV4VExH+p7+o/5km6jOnVSD5mO7aw0s+eKByKnpyG8gZfajxXPhwBM57r7SIravrCI6LFj8DARNe31qPw==" + }, + "tls": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tls/-/tls-0.0.1.tgz", + "integrity": "sha1-CrK/WWjXHfL4wOFRXSSiJAuYqsg=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + } + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "requires": { + "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tryer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.0.tgz", + "integrity": "sha1-Antp+oIyJeVRys4+8DsR9qs3wdc=", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "dev": true + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.18" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uberproto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/uberproto/-/uberproto-1.2.0.tgz", + "integrity": "sha1-YdTqsCT5CcTm6lK+hnxIlKS+63Y=" + }, + "uglify-js": { + "version": "3.3.28", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.28.tgz", + "integrity": "sha512-68Rc/aA6cswiaQ5SrE979UJcXX+ADA1z33/ZsPd+fbAiVdjZ16OXdbtGO+rJUUBgK6qdf3SOPhQf3K/ybF5Miw==", + "dev": true, + "requires": { + "commander": "2.15.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "url-loader": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", + "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "1.3.6" + }, + "dependencies": { + "mime": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", + "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", + "dev": true + } + } + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } + }, + "useragent": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", + "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "tmp": "0.0.33" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + } + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + }, + "v-click-outside-x": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/v-click-outside-x/-/v-click-outside-x-3.2.2.tgz", + "integrity": "sha512-lAeSsh5EaYO3yLlNnpBlABeE93/Y8P9aBOzm4I+NOTWW7qmiw9YzQmdclorLBLvd9fCP1wsViRWymiZRm4m3Nw==" + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "vows": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/vows/-/vows-0.8.2.tgz", + "integrity": "sha1-aR95qybM3oC6cm3en+yOc9a88us=", + "requires": { + "diff": "1.0.8", + "eyes": "0.1.8", + "glob": "7.1.2" + }, + "dependencies": { + "diff": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz", + "integrity": "sha1-NDJ2MI7Jkbe8giZ+1VvBQR+XFmY=" + } + } + }, + "vue": { + "version": "2.5.17", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.17.tgz", + "integrity": "sha512-mFbcWoDIJi0w0Za4emyLiW72Jae0yjANHbCVquMKijcavBGypqlF7zHRgMa5k4sesdv7hv2rB4JPdZfR+TPfhQ==" + }, + "vue-async-computed": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/vue-async-computed/-/vue-async-computed-3.4.1.tgz", + "integrity": "sha512-+nuT0vUGjMwpDf50/3E29gIcJEgAk3i7cP03CCjffptb7FsXjzVyJfLd5yqjMhmma4ovW5Wkh3blNRpWUG/amg==" + }, + "vue-codemirror": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/vue-codemirror/-/vue-codemirror-3.1.8.tgz", + "integrity": "sha512-F2NQqEt0M6WWcx4isB1jqS7g1xtG2rdSXPTiH4kK8zET2yNLPmKdLlgnWIw2RyHvcgL1y+T7lWPXNpjWThtidA==", + "requires": { + "codemirror": "5.40.0" + } + }, + "vue-cookie": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/vue-cookie/-/vue-cookie-1.1.4.tgz", + "integrity": "sha1-uLRtESvan5Oi9HAXwu1SgtIGT9o=", + "requires": { + "tiny-cookie": "1.0.1" + } + }, + "vue-feathers": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/vue-feathers/-/vue-feathers-0.1.0.tgz", + "integrity": "sha1-3PfWXcaSrrFQxuzohnMD6nWguAU=", + "requires": { + "feathers": "2.2.4" + } + }, + "vue-functional-data-merge": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-2.0.7.tgz", + "integrity": "sha512-pvLc+H+x2prwBj/uSEIITyxjz/7ZUVVK8uYbrYMmhDvMXnzh9OvQvVEwcOSBQjsubd4Eq41/CSJaWzy4hemMNQ==" + }, + "vue-hot-reload-api": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.0.tgz", + "integrity": "sha512-2j/t+wIbyVMP5NvctQoSUvLkYKoWAAk2QlQiilrM2a6/ulzFgdcLUJfTvs4XQ/3eZhHiBmmEojbjmM4AzZj8JA==", + "dev": true + }, + "vue-html": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/vue-html/-/vue-html-0.3.0.tgz", + "integrity": "sha1-8To+X/polr5DoO79W4HqB21RpTg=", + "requires": { + "hyperx": "2.4.0" + } + }, + "vue-input-tag": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/vue-input-tag/-/vue-input-tag-0.0.16.tgz", + "integrity": "sha1-UoaFmuJBFRR7H9TukXQ2n2Xo90c=", + "requires": { + "babel-plugin-transform-runtime": "6.23.0", + "babel-preset-es2015": "6.24.1", + "babel-preset-stage-2": "6.24.1", + "loader-utils": "1.1.0", + "vue": "2.5.17" + } + }, + "vue-loader": { + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-12.2.2.tgz", + "integrity": "sha512-DD+sYaWQ1esYL/tEwJpoEGE/PFUu32fp7iOuMf4Sra3dgxqr4haTOkVam2VY0/5D4LG8eAcB94ruXKeQW2/ikw==", + "dev": true, + "requires": { + "consolidate": "0.14.5", + "hash-sum": "1.0.2", + "js-beautify": "1.7.5", + "loader-utils": "1.1.0", + "lru-cache": "4.1.3", + "postcss": "5.2.18", + "postcss-load-config": "1.2.0", + "postcss-selector-parser": "2.2.3", + "resolve": "1.7.1", + "source-map": "0.5.7", + "vue-hot-reload-api": "2.3.0", + "vue-style-loader": "3.1.2", + "vue-template-es2015-compiler": "1.6.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "vue-particles": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/vue-particles/-/vue-particles-1.0.9.tgz", + "integrity": "sha1-KdnMK+AVffHAqH7DuWyW8zJ5Um4=", + "dev": true, + "requires": { + "particles.js": "2.0.0", + "vue": "2.5.17" + } + }, + "vue-router": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.8.1.tgz", + "integrity": "sha512-MC4jacHBhTPKtmcfzvaj2N7g6jgJ/Z/eIjZdt+yUaUOM1iKC0OUIlO/xCtz6OZFFTNUJs/1YNro2GN/lE+nOXA==" + }, + "vue-split-panel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vue-split-panel/-/vue-split-panel-1.0.4.tgz", + "integrity": "sha512-OGR+2vIHGcXjpXMh7Pv6uG0t6ihL8o8wmHLeKfvArNPJs/Z0GYLplDcUdTg7Z/Et+IsYVlR13f83oiuRVLYOkw==", + "requires": { + "split.js": "1.3.5" + } + }, + "vue-style-loader": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz", + "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==", + "dev": true, + "requires": { + "hash-sum": "1.0.2", + "loader-utils": "1.1.0" + } + }, + "vue-template-compiler": { + "version": "2.5.17", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.17.tgz", + "integrity": "sha512-63uI4syCwtGR5IJvZM0LN5tVsahrelomHtCxvRkZPJ/Tf3ADm1U1wG6KWycK3qCfqR+ygM5vewUvmJ0REAYksg==", + "dev": true, + "requires": { + "de-indent": "1.0.2", + "he": "1.1.1" + } + }, + "vue-template-es2015-compiler": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz", + "integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==", + "dev": true + }, + "vue-widgets": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/vue-widgets/-/vue-widgets-1.0.9.tgz", + "integrity": "sha512-tWkvNvYZKyoidkBCUYlI/Yc2ugXKFJSDyC59sdRIExpp9aJQ2UQa6iksXKIBfZQAFyPTqf2Cqjy2sH4hdiW11w==" + }, + "vuex": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-2.5.0.tgz", + "integrity": "sha512-5oJPOJySBgSgSzoeO+gZB/BbN/XsapgIF6tz34UwJqnGZMQurzIO3B4KIBf862gfc9ya+oduY5sSkq+5/oOilQ==" + }, + "vuex-persistedstate": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/vuex-persistedstate/-/vuex-persistedstate-2.5.4.tgz", + "integrity": "sha512-XYJhKIwO+ZVlTaXyxKxnplrJ88Fnvk5aDw753bxzRw5/yMKLQ6lq9CDCBex2fwZaQcLibhtgJOxGCHjy9GLSlQ==", + "requires": { + "deepmerge": "2.1.1", + "shvl": "1.3.1" + }, + "dependencies": { + "deepmerge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz", + "integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w==" + } + } + }, + "vuex-router-sync": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vuex-router-sync/-/vuex-router-sync-4.3.2.tgz", + "integrity": "sha512-Uwi1aPM1U9IOzEqJl8r3aCQm8l2H+IMm0lMQtznY7ENv8XK0w+6e+le6r06k0W9ud7qBJ4fDjbCcNpXBdnO3Xg==" + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "2.0.3", + "graceful-fs": "4.1.11", + "neo-async": "2.5.1" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "chokidar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "webpack": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz", + "integrity": "sha512-MjAA0ZqO1ba7ZQJRnoCdbM56mmFpipOPUv/vQpwwfSI42p5PVDdoiuK2AL2FwFUVgT859Jr43bFZXRg/LNsqvg==", + "dev": true, + "requires": { + "acorn": "5.6.2", + "acorn-dynamic-import": "2.0.2", + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "async": "2.6.1", + "enhanced-resolve": "3.4.1", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "0.2.17", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "3.2.3", + "tapable": "0.2.8", + "uglify-js": "2.8.29", + "watchpack": "1.6.0", + "webpack-sources": "1.1.0", + "yargs": "6.6.0" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + } + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", + "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", + "dev": true, + "requires": { + "acorn": "5.6.2", + "bfj-node4": "5.3.1", + "chalk": "2.4.1", + "commander": "2.15.1", + "ejs": "2.5.7", + "express": "4.16.3", + "filesize": "3.6.1", + "gzip-size": "4.1.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "opener": "1.4.3", + "ws": "4.1.0" + }, + "dependencies": { + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2" + } + } + } + }, + "webpack-dev-middleware": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "1.6.0", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "time-stamp": "2.0.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + } + } + }, + "webpack-hot-middleware": { + "version": "2.23.1", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.23.1.tgz", + "integrity": "sha512-oUdCGDHONJrARtqxPSiON4db4dRWUsRiPwD7dYkglrTc3vF7LKa2jncwN0lIVkNwtoCh/yiHVTzz3Hbcux8ikA==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "html-entities": "1.2.1", + "querystring": "0.2.0", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "webpack-merge": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", + "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" + } + }, + "wtf-8": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", + "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", + "dev": true + }, + "x2js": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/x2js/-/x2js-3.2.1.tgz", + "integrity": "sha512-+6gQGmMKbAHmapedjI/r+cPQNdFqQ0OE1VJvv3A6GPVlEJAsFq9JyNVgfwgnceMiUtpt38VOUEtEF7S3SxZkMQ==", + "requires": { + "xmldom": "0.1.27" + } + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": "1.2.1", + "xmlbuilder": "9.0.7" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + } + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "1.0.1" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + } +} diff --git a/client/package.json b/client/package.json index c83b30b..8f7b657 100644 --- a/client/package.json +++ b/client/package.json @@ -15,13 +15,13 @@ }, "dependencies": { "@deveodk/vue-tinymce": "^1.0.0", - "@feathersjs/errors": "^3.3.0", - "@tinymce/tinymce-vue": "^1.0.8", - "FormData": "^0.10.1", - "animate.css": "^3.5.2", + "@feathersjs/errors": "^3.3.2", + "@tinymce/tinymce-vue": "^1.0.9", + "animate.css": "^3.7.0", "aws": "0.0.3-2", - "aws-sdk": "^2.188.0", + "aws-sdk": "^2.309.0", "axios": "^0.16.2", + "babel-loader": "^7.1.1", "babel-plugin-syntax-jsx": "^6.18.0", "babel-plugin-transform-vue-jsx": "^3.5.1", "bootstrap": "^3.3.7", @@ -30,61 +30,42 @@ "bpmn-js-properties-panel": "^0.16.1", "camunda-bpmn-moddle": "^0.13.0", "child_process": "^1.0.2", - "codemirror": "^5.34.0", - "deepstream.io-client-js": "^2.3.0", + "codemirror": "^5.40.0", "diagram-js": "^0.21.1", - "element-ui": "^1.4.13", "feathers-hooks": "^2.1.0", "feathers-socketio": "^2.0.0", - "flowz-subscription": "^0.2.2", + "file-loader": "^2.0.0", + "flowz-subscription": "^0.2.10", "fs": "0.0.1-security", - "grapesjs": "^0.10.8", - "grapesjs-blocks-basic": "^0.1.3", - "grapesjs-mjml": "0.0.8", - "grapesjs-plugin-forms": "^0.2.5", "inherits": "^2.0.3", "iview": "^2.9.2", - "jQuery": "^1.7.4", "jquery": "^3.3.1", - "jquery-ui": "^1.12.1", - "js-cookie": "^2.2.0", - "jsdom": "^11.6.2", - "json-daex": "0.0.13", "location": "0.0.1", "lodash": "^4.17.4", "moment": "^2.20.1", "navigator": "^1.0.1", "net": "^1.0.2", - "papaparse": "^4.3.7", "psl": "^1.1.29", - "split.js": "^1.3.5", "tls": "0.0.1", - "vue": "^2.5.13", - "vue-async-computed": "^3.3.1", + "vue": "^2.5.17", + "vue-async-computed": "^3.4.1", "vue-codemirror": "^3.1.6", "vue-cookie": "^1.1.4", - "vue-dropzone": "^1.0.4", "vue-feathers": "^0.1.0", "vue-html": "^0.3.0", "vue-input-tag": "0.0.16", "vue-router": "^2.7.0", "vue-split-panel": "^1.0.4", "vue-widgets": "^1.0.9", - "vue2-codemirror-lite-js": "^3.5.2", - "vue2-dropzone": "^3.2.2", - "vuedraggable": "^2.16.0", "vuex": "^2.4.0", - "vuex-cache": "^1.1.1", "vuex-persistedstate": "^2.4.2", "vuex-router-sync": "^4.3.2", - "x2js": "^3.1.1", - "xmlhttprequest": "^1.8.0" + "x2js": "^3.1.1" }, "devDependencies": { "autoprefixer": "^7.2.5", "babel-core": "^6.22.1", "babel-eslint": "^7.1.1", - "babel-loader": "^7.1.1", "babel-plugin-istanbul": "^4.1.5", "babel-plugin-transform-runtime": "^6.22.0", "babel-preset-env": "^1.3.2", @@ -92,7 +73,7 @@ "babel-register": "^6.22.0", "chai": "^3.5.0", "chalk": "^2.0.1", - "chromedriver": "^2.35.0", + "chromedriver": "^2.41.0", "connect-history-api-fallback": "^1.3.0", "copy-webpack-plugin": "^4.3.1", "cross-env": "^5.1.3", @@ -109,11 +90,9 @@ "eventsource-polyfill": "^0.9.6", "express": "^4.16.2", "extract-text-webpack-plugin": "^2.1.2", - "file-loader": "^0.11.1", "friendly-errors-webpack-plugin": "^1.1.3", "html-webpack-plugin": "^2.28.0", "http-proxy-middleware": "^0.17.3", - "inject-loader": "^3.0.0", "karma": "^1.4.1", "karma-coverage": "^1.1.1", "karma-mocha": "^1.3.0", @@ -125,16 +104,14 @@ "karma-webpack": "^2.0.6", "less": "^2.7.2", "less-loader": "^4.0.5", - "lolex": "^1.5.2", "mocha": "^3.2.0", "nightwatch": "^0.9.12", "opn": "^5.2.0", "optimize-css-assets-webpack-plugin": "^2.0.0", "ora": "^1.4.0", - "phantomjs-prebuilt": "^2.1.14", "rimraf": "^2.6.0", - "selenium-server": "^3.8.1", - "semver": "^5.5.0", + "selenium-server": "^3.14.0", + "semver": "^5.5.1", "shelljs": "^0.7.6", "sinon": "^2.1.0", "sinon-chai": "^2.8.0", @@ -142,12 +119,12 @@ "vue-loader": "^12.1.0", "vue-particles": "^1.0.9", "vue-style-loader": "^3.1.2", - "vue-template-compiler": "^2.5.13", - "webpack": "^2.6.1", + "vue-template-compiler": "^2.5.17", + "webpack": "^2.7.0", "webpack-bundle-analyzer": "^2.10.0", "webpack-dev-middleware": "^1.12.2", - "webpack-hot-middleware": "^2.21.0", - "webpack-merge": "^4.1.0" + "webpack-hot-middleware": "^2.23.1", + "webpack-merge": "^4.1.4" }, "engines": { "node": ">= 4.0.0", diff --git a/client/src/App.vue b/client/src/App.vue index d892479..61f01df 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -9,7 +9,50 @@ export default { name: 'app', mounted () { - this.$store.state.flowz = [] + }, + feathers: { + 'schema': { + created (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + }, + updated (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + }, + removed (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + } + }, + 'flowz': { + created (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + }, + updated (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + }, + removed (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + } + }, + 'emailtemplate': { + created (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + }, + updated (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + }, + removed (data) { + this.$store.state.Cache = null + this.$store.state.Cache = {} + } + } } } diff --git a/client/src/Utils/index.js b/client/src/Utils/index.js new file mode 100644 index 0000000..2e670c4 --- /dev/null +++ b/client/src/Utils/index.js @@ -0,0 +1,42 @@ +import store from '@/store' +const millisend = 1000 + +let isCachedResultValid = (result, timeout = 3600) => { + return (result && Date.now() - result.timestamp < timeout * millisend) +} +let setCached = (key, result) => { + store.state.Cache[key] = {'result': result, 'timestamp': Date.now()} +} + +let CachedRes = (key, timeout) => { + return new Promise((resolve, reject) => { + if (store.state === undefined) { + console.log('state undefined....') + } + const cachedResult = store.state.Cache[key] + // check cache key valid + if (isCachedResultValid(cachedResult, timeout)) { + return resolve(cachedResult['result']) + } else { + return resolve(false) + } + }) +} + +let removeTimeOutKey = (timeout = 7200) => { // TODO: only delete the old + if (Object.keys(store.state.Cache).length > 10000) { + for (let key in Object.keys(Cache)) { + if (!isCachedResultValid(store.state.Cache[key], timeout)) { + delete store.state.Cache[key] + } + } + } +} + +setTimeout(removeTimeOutKey, 7200) + +export default { + isCachedResultValid, + CachedRes, + setCached +} diff --git a/client/src/api/approval/index.js b/client/src/api/approval/index.js deleted file mode 100644 index bd4b0b8..0000000 --- a/client/src/api/approval/index.js +++ /dev/null @@ -1,69 +0,0 @@ -import api from '../../api' -let model = 'approval' -export default { - // let gets = async function (id) { - // return true; - // }, - // get: (id) => { - // if (id === undefined) { - // return api.request('get', '/' + model) - // } else { - // return api.request('get', '/' + model + '/' + id) - // } - // } - get: (rowId) => { - if (rowId === undefined) { - return api.request('get', '/' + model) - .then(response => { - return response.data.data - }) - .catch(error => { - throw error - }) - } else { - return api.request('get', '/' + model + '/' + rowId) - .then(response => { - return response.data - }) - .catch(error => { - console.log(error) - }) - } - }, - getOne: (rowId) => { - return api.request('get', '/' + model + '/' + rowId) - .then(response => { - return response.data - }) - .catch(error => { - console.log(error) - }) - }, - delete: (rowId) => { - return api.request('delete', '/' + model + '/' + rowId) - .then(response => { - return ({ 'status': 'success', 'message': 'Record deleted sucessfully;' }) - }) - .catch(error => { - return ({ 'status': 'error', 'message': error }) - }) - }, - add: (data) => { - return api.request('post', '/' + model, data) - .then(response => { - return ({ 'status': 'success', 'message': 'Record Inserted sucessfully;' }) - }) - .catch(error => { - console.log(error) - }) - }, - update: (data, id) => { - return api.request('put', '/' + model + '/' + id, data) - .then(response => { - return ({ 'status': 'success', 'message': 'Record updated sucessfully;' }) - }) - .catch(error => { - console.log(error) - }) - } -} diff --git a/client/src/api/approvalrole/index.js b/client/src/api/approvalrole/index.js deleted file mode 100644 index f2e17da..0000000 --- a/client/src/api/approvalrole/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import axios from 'axios' -import config from '../../config' -export default { - get: (roleName) => { - if (!roleName) { - return axios.get(config.approvalRoleURI + 'getroles') - .then(response => { - return response.data.data.roles - }) - .catch(error => { - console.log('Error : ', error) - }) - } else { - return axios.get(config.approvalRoleURI + 'userslist/' + roleName) - .then(response => { - return response.data.data.roles - }) - .catch(error => { - console.log('Error : ', error) - }) - } - } -} diff --git a/client/src/api/databases/index.js b/client/src/api/databases/index.js deleted file mode 100644 index e2cec4c..0000000 --- a/client/src/api/databases/index.js +++ /dev/null @@ -1,26 +0,0 @@ -import api from '../../api' -let model = 'databases' -export default { - get: (id = null, params = null) => { - if (id === null) { - return api.request('get', '/' + model, null, params) - } else { - return api.request('get', '/' + model + '/' + id) - } - }, - getCustom: (string) => { - return api.request('get', '/' + model + string) - }, - post: (data) => { - return api.request('post', '/' + model, data) - }, - put: (id, data) => { - return api.request('put', '/' + model + '/' + id, data) - }, - patch: (id, data) => { - return api.request('patch', '/' + model + '/' + id, data) - }, - delete: (id) => { - return api.request('delete', '/' + model + '/' + id) - } -} diff --git a/client/src/api/dataquery/index.js b/client/src/api/dataquery/index.js new file mode 100644 index 0000000..5f9fcf8 --- /dev/null +++ b/client/src/api/dataquery/index.js @@ -0,0 +1,7 @@ +import api from '../../api' +let model = 'dataquery' +export default { + get: (id = null, params = null, headers = null) => { + return api.request('get', '/' + model, null, params, headers) + } +} diff --git a/client/src/api/emailtemplate/index.js b/client/src/api/emailtemplate/index.js index 8bc4354..4b5628c 100644 --- a/client/src/api/emailtemplate/index.js +++ b/client/src/api/emailtemplate/index.js @@ -1,11 +1,23 @@ import api from '../../api' let model = 'emailtemplate' export default { - - // let gets = async function (id) { - // return true; - // }, - get: () => { - return api.request('get', '/' + model) + get: (id = null, params = null) => { + if (id === null) { + return api.request('get', '/' + model, null, params) + } else { + return api.request('get', '/' + model + '/' + id, params) + } + }, + post: (data) => { + return api.request('post', '/' + model, data) + }, + put: (id, data) => { + return api.request('put', '/' + model + '/' + id, data) + }, + patch: (id, data) => { + return api.request('patch', '/' + model + '/' + id, data) + }, + delete: (id) => { + return api.request('delete', '/' + model + '/' + id) } } diff --git a/client/src/api/flowz/index.js b/client/src/api/flowz/index.js index 3c7b81d..1071da9 100644 --- a/client/src/api/flowz/index.js +++ b/client/src/api/flowz/index.js @@ -1,5 +1,6 @@ import api from '../../api' let model = 'flowz' +// import store from '@/store' export default { get: (id = null, params = null, headers = null) => { if (id === null) { diff --git a/client/src/api/flowzinstance/index.js b/client/src/api/flowzinstance/index.js deleted file mode 100644 index 4fc623f..0000000 --- a/client/src/api/flowzinstance/index.js +++ /dev/null @@ -1,20 +0,0 @@ -import api from '../../api' -let model = 'flowz-instance' -export default { - get: (params = null, headers = null) => { - console.log('headers', headers) - return api.request('get', '/' + model, null, params, headers) - }, - getThis: (id, params = null, headers = null) => { - return api.request('get', '/' + model + '/' + id, null, params, headers) - }, - getByfid: (fid, params = null, headers = null) => { - return api.request('get', '/' + model + '?fid=' + fid, null, params, headers) - }, - post: (data, params = null, headers = null) => { - return api.request('post', '/' + model, data, null, params, headers) - }, - put: (id, data, params = null, headers = null) => { - return api.request('put', '/' + model + '/' + id, data, null, params, headers) - } -} diff --git a/client/src/api/index.js b/client/src/api/index.js index 401532a..709f9a5 100644 --- a/client/src/api/index.js +++ b/client/src/api/index.js @@ -1,9 +1,21 @@ import axios from 'axios' import config from '../config' import store from '../store' +import utils from '@/Utils' +const timeout = { + '/schema': 7200, + '/flowz': 7200, + '/emailtemplate': 7200, + '/bpmnplugins': 9200, + '/finstance': 0, + '/dataquery': 0, + '/flowzdata': 0, + '/receiveform': 0, + '/sendmail': 0 +} export default { - request (method, uri, data = null, params = null, headers) { + async request (method, uri, data = null, params = null, headers) { if (headers !== null && headers !== undefined) { if (store.state.subscription !== undefined) { headers.subscriptionId = store.state.subscription @@ -29,8 +41,30 @@ export default { console.error('API function call requires proper subscriptionId to be passed as a header') return } - - var url = config.serverURI + uri - return axios({ method, url, data, params, headers }) + let url = config.serverURI + uri + if (method === 'get') { + let cacheKey = `${method}_${url}_${JSON.stringify(params)}` + let cachedTimeout = 0 + if (timeout.hasOwnProperty(uri)) { + cachedTimeout = timeout[uri] + } else { + let regExpmainPlan = new RegExp('^\/[A-Za-z]*\/', 'i') // eslint-disable-line + let n = uri.match(regExpmainPlan) + if (n !== undefined && n !== null && n.length > 0) { + cachedTimeout = timeout[n[0].substring(0, n[0].length - 1)] + } + } + let res = await utils.CachedRes(cacheKey, cachedTimeout) + if (!res) { + return axios({ method, url, data, params, headers }).then(resp => { + utils.setCached(cacheKey, resp) + return resp + }) + } else { + return res + } + } else { + return axios({ method, url, data, params, headers }) + } } } diff --git a/client/src/api/instance/index.js b/client/src/api/instance/index.js deleted file mode 100644 index 0e430e5..0000000 --- a/client/src/api/instance/index.js +++ /dev/null @@ -1,20 +0,0 @@ -import api from '../../api' -let model = 'instance' - // let model = 'instance-test' -export default { - // let gets = async function (id) { - // return true; - // }, - get: () => { - return api.request('get', '/' + model) - }, - getThis: (id, Schemaid) => { - return api.request('get', '/' + model + '/' + id + '?schemaid=' + Schemaid) - }, - post: (data) => { - return api.request('post', '/' + model, data) - }, - put: (id, data) => { - return api.request('pot', '/' + model + '/' + id, data) - } -} diff --git a/client/src/api/logs/index.js b/client/src/api/logs/index.js deleted file mode 100644 index 16f1ecf..0000000 --- a/client/src/api/logs/index.js +++ /dev/null @@ -1,20 +0,0 @@ -import api from '../../api' -let model = 'logs' -export default { - get: (id) => { - if (id === undefined) { - return api.request('get', '/' + model) - } else { - return api.request('get', '/' + model + '?fId=' + id) - } - }, - getThis: (id) => { - return api.request('get', '/' + model + '/' + id) - }, - post: (data) => { - return api.request('post', '/' + model, data) - }, - put: (id, data) => { - return api.request('put', '/' + model + '/' + id, data) - } -} diff --git a/client/src/api/schema/index.js b/client/src/api/schema/index.js index 7f22edd..e220ac4 100644 --- a/client/src/api/schema/index.js +++ b/client/src/api/schema/index.js @@ -2,18 +2,10 @@ import api from '../../api' let model = 'schema' let getAllEntity = async(id) => { let response = await api.request('get', '/' + model + '/' + id) - // console.log('response', response) for (let [index, item] of response.data.entity.entries()) { if (item.customtype) { - response.data.entity[index] = await getAllEntity(item.type) + response.data.entity[index]['entity'] = await getAllEntity(item.type) response.data.entity[index]['name'] = item.name - response.data.entity[index]['customtype'] = true - response.data.entity[index]['type'] = item.property.IsArray ? 'array' : 'object' - if (response.data.entity[index]['type'] === 'array') { - response.data.entity[index]['items'] = {} - response.data.entity[index]['items']['type'] = 'object' - response.data.entity[index]['items']['entity'] = JSON.parse(JSON.stringify(response.data.entity[index].entity)) - } } } return response.data @@ -21,9 +13,7 @@ let getAllEntity = async(id) => { export default { get: (id = null, params = null) => { if (id === null) { - return api.request('get', '/' + model, null, params).then(response => { - return response.data - }) + return api.request('get', '/' + model, null, params) } else { return api.request('get', '/' + model + '/' + id) } diff --git a/client/src/api/schema/instance.js b/client/src/api/schema/instance.js deleted file mode 100644 index d9242d7..0000000 --- a/client/src/api/schema/instance.js +++ /dev/null @@ -1,21 +0,0 @@ -import api from '../../api' -// let model = 'instance' -let model = 'instance' -export default { - - // let gets = async function (id) { - // return true; - // }, - get: () => { - return api.request('get', '/' + model) - }, - getThis: (id) => { - return api.request('get', '/' + model + '/' + id) - }, - post: (data) => { - return api.request('post', '/' + model, data) - }, - put: (id, data) => { - return api.request('pot', '/' + model + '/' + id, data) - } -} diff --git a/client/src/api/schemamapping/index.js b/client/src/api/schemamapping/index.js deleted file mode 100644 index 36388a4..0000000 --- a/client/src/api/schemamapping/index.js +++ /dev/null @@ -1,35 +0,0 @@ -import api from '../../api' -let model = 'schemamapping' -export default { - get: (id = null, params = null) => { - if (id === null) { - return api.request('get', '/' + model, null, params) - } else { - return api.request('get', '/' + model + '/' + id) - } - }, - getAll: () => { - return api.request('get', '/' + model + '?$paginate=false') - }, - post: (data) => { - return api.request('post', '/' + model, data) - .then(response => { - return ({ 'status': 'success', 'message': 'Mapping Inserted sucessfully;' }) - }) - .catch(error => { - return ({ 'status': 'error', 'message': error }) - }) - }, - deleteThis: (id) => { - return api.request('delete', '/' + model + '/' + id) - }, - update: (data, id) => { - return api.request('put', '/' + model + '/' + id, data) - .then(response => { - return ({ 'status': 'success', 'message': 'Schema Mapping updated sucessfully;' }) - }) - .catch(error => { - return ({ 'status': 'error', 'message': error }) - }) - } -} diff --git a/client/src/api/user/index.js b/client/src/api/user/index.js deleted file mode 100644 index 7e84bab..0000000 --- a/client/src/api/user/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import api from '../../api' -let model = 'usermaster' -export default { - get: (id) => { - if (id === undefined) { - return api.request('get', '/' + model) - } else { - return api.request('get', '/' + model + '/' + id) - } - }, - getByParam: (param) => { - // 'http://172.16.160.117:3030/usermaster?emailId='+self.formInline.Email - return api.request('get', '/' + model + '?email=' + param) - }, - post: (data) => { - return api.request('post', '/' + model, data) - }, - put: (id, data) => { - return api.request('put', '/' + model + '/' + id, data) - }, - delete: (id) => { - return api.request('delete', '/' + model + '/' + id) - } -} diff --git a/client/src/area/Dashboard.vue b/client/src/area/Dashboard.vue index 34646d7..86347b2 100644 --- a/client/src/area/Dashboard.vue +++ b/client/src/area/Dashboard.vue @@ -161,19 +161,25 @@ export default { }, methods: { init () { - flowzModel.get(null, {}) + flowzModel.get(null, { + $limit: 0 + }) .then((res) => { this.countFlowz = res.data.total }) - finstanceModel.get(null, {}) + finstanceModel.get(null, { + $limit: 0 + }) .then((res) => { this.countInstances = res.data.total }) - flowzDataModel.get(null, {}) + flowzDataModel.get(null, { + $limit: 0 + }) .then((res) => { - console.log('resp data:', res) + // console.log('resp data:', res) this.countData = res.total }) }, @@ -192,9 +198,9 @@ export default { }, mounted () { this.init() - this.chart = new CanvasJS.Chart("chartContainer", this.newVSReturningVisitorsOptions); - this.chart.options.data = this.visitorsData["New vs Returning Visitors"]; - this.chart.render(); + // this.chart = new CanvasJS.Chart("chartContainer", this.newVSReturningVisitorsOptions); + // this.chart.options.data = this.visitorsData["New vs Returning Visitors"]; + // this.chart.render(); } } diff --git a/client/src/assets/js/deepstream/deepRecord.js b/client/src/assets/js/deepstream/deepRecord.js deleted file mode 100644 index dbfd3b4..0000000 --- a/client/src/assets/js/deepstream/deepRecord.js +++ /dev/null @@ -1,146 +0,0 @@ - // - // -import axios from 'axios' -import _ from 'lodash' - -let options = { - flowzApiURL: 'https://api.flowzcluster.tk/eng/flowz/', - cacheAPIURL: 1000 * 60 -} -let flowCache = [] - -export const deepRecord = { - addRecord: async function (dpClient, instanceId, recordName, payload) { - return new Promise(async (resolve, reject) => { - try { - let id = instanceId + recordName + '/' + dpClient.getUid() - let recordObj = dpClient.record.getRecord(id) - recordObj.whenReady((record) => { - record.set(payload) - resolve({recordId: id, recordObj: record}) - }) - } catch (err) { - reject(err) - } - }) - }, - getRecord: async function (dpClient, recordName, callback) { - dpClient.record.snapshot(recordName, callback) - }, - recordSubscribe: async function (dpClient, recordName, callback) { - return new Promise(async (resolve, reject) => { - try { - let recordObj = dpClient.record.getRecord(recordName) - recordObj.subscribe(callback) - } catch (err) { - reject(err) - } - }) - }, - getRecordObject: async function (dpClient, recordName) { - return new Promise(async (resolve, reject) => { - try { - let recordObj = dpClient.record.getRecord(recordName) - recordObj.whenReady((record) => { - resolve(record) - }) - } catch (err) { - reject(err) - } - }) - }, - // removeRecord: async function (dpClient, recordName, recordObj) { - // dpClient.record.getRecord( recordName ).delete(); - // let listName = recordName.substring(0,recordName.indexOf('/')) - // dpClient.record.getList(recordName).removeEntry(id); - // }, - getFlow: async function (instanceId) { - if (flowCache[instanceId] !== undefined) { - return flowCache[instanceId] - } - let orignalInstanceId = await this.replaceAll(instanceId, '_', '-') - let flowData = await axios.get(options.flowzApiURL + orignalInstanceId + '?$select[]=json') - flowCache[instanceId] = { - timeStamp: new Date(), - dataObj: flowData.data.json - } - return flowCache[instanceId] - }, - getNextTraget: async function (instanceId, targetId) { - let flowData = await this.getFlow(instanceId) - flowData = flowData.dataObj - let targetObj = _.find(flowData.processList, {'id': targetId}) - if (targetObj.type === 'start' || - targetObj.type === 'endevent' || - targetObj.type === 'intermediatethrowevent') { - return targetObj - } - if (targetObj.inputProperty.length === 0) { - targetObj = this.getNextTraget(instanceId, targetObj.target[0].id) - } - return targetObj - }, - getCurrentTraget: async function (instanceId, targetId) { - let flowData = await this.getFlow(instanceId) - flowData = flowData.dataObj - let targetObj = _.find(flowData.processList, {'id': targetId}) - return targetObj - }, - replaceAll: function replaceAll (str, find, replace) { - return str.replace(new RegExp(find, 'g'), replace) - }, - startInstance: async function (dpClient, instanceId) { - return new Promise(async (resolve, reject) => { - instanceId = await this.replaceAll(instanceId, '-', '_') - let flowData = await this.getFlow(instanceId) - flowData = flowData.dataObj - let startObj = _.find(flowData.processList, {'type': 'start'}) - let nextTargetObj = await this.getNextTraget(instanceId, startObj.target[0].id) - let payload = { - instanceId, - 'currentStatus': nextTargetObj.id, - stageReference: [], - 'mainStatus': 'inprocess' - } - let instanceListName = instanceId + 'List' - let returnObj = await this.addRecord(dpClient, instanceId, '', payload).catch((err) => { console.log(err) }) - let instanceListObj = dpClient.record.getList(instanceListName) - instanceListObj.addEntry(returnObj.recordId) - resolve({instanceListName, instanceListObj, recordId: returnObj.recordId, recordObj: returnObj.recordObj}) - }) - }, - setNextStage: async function (dpClient, instanceRecordId, stageRecordId) { - return new Promise(async (resolve, reject) => { - let getRecordData = await this.getRecordObject(dpClient, instanceRecordId) - let instanceId = getRecordData.get('instanceId') - let currentStatus = getRecordData.get('currentStatus') - let currentTargetObj = await this.getCurrentTraget(instanceId, currentStatus) - let nextTargetObj = await this.getNextTraget(instanceId, currentTargetObj.target[0].id) - let stageReference = getRecordData.get('stageReference') - stageReference.push({StageName: currentStatus, stageRecordId}) - - let updateInstance = getRecordData.get() - updateInstance.currentStatus = nextTargetObj.id - updateInstance.stageReference = stageReference - if (nextTargetObj.type === 'endevent') { - updateInstance.mainStatus = 'completed' - } - getRecordData.set(updateInstance) - resolve('completed') - }) - }, - instanceStageSubmit: async function (dpClient, instanceRecordId, payload) { - return new Promise(async (resolve, reject) => { - let getRecordData = await this.getRecordObject(dpClient, instanceRecordId) - let instanceId = getRecordData.get('instanceId') - let StageName = getRecordData.get('currentStatus') - let stageListName = StageName + 'List' - payload[instanceId] = instanceId - let returnObj = await this.addRecord(dpClient, instanceId, StageName, payload).catch((err) => { console.log(err) }) - let stageListObj = dpClient.record.getList(stageListName) - stageListObj.addEntry(returnObj.recordId) - await this.setNextStage(dpClient, instanceRecordId, returnObj.recordId) - resolve({stageListName, stageListObj, recordId: returnObj.recordId, recordObj: returnObj.recordObj}) - }) - } -} diff --git a/client/src/assets/js/deepstream/recordRun.js b/client/src/assets/js/deepstream/recordRun.js deleted file mode 100644 index bab313b..0000000 --- a/client/src/assets/js/deepstream/recordRun.js +++ /dev/null @@ -1,84 +0,0 @@ -const deepstream = require('deepstream.io-client-js') -const client = deepstream('ws://167.99.233.211:6020').login() -const DeepRecord = require('./deepRecord') - -let id = 0 - -async function startFlow () { - let instanceId = '39c53741-ec14-4ceb-a9db-97d7066cd424' - let instanceRecordId = '39c53741_ec14_4ceb_a9db_97d7066cd424/jkkuymzw-2pe2i4djunm' - let payload = { - 'firstName': 'Test', - 'lastName': 'Xyz', - 'po_number': Math.random() - } - // ==================Flow initiated============================== - let instanceObj = await DeepRecord.instanceStageSubmit(client, instanceRecordId, payload) - // // ==================OrderEntry============================== - // let StageName = 'OrderEntry' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random() - // }; - // let returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','ArtWork') - // // ==================OrderEntry============================== - // // ==================ArtWork============================== - // StageName = 'ArtWork' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random(), - // "ArtFile":"Art File uploaded" - // }; - // returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','Proof') - // // ================================================ - // // ==================Proof============================== - // StageName = 'Proof' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random(), - // "ArtFile":"Art File uploaded", - // "moveTo": 'Print' - // }; - // returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','Print') - // // ================================================ - // // ==================Proof============================== - // StageName = 'Print' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random(), - // "ArtFile":"Art File uploaded", - // "moveTo": 'completed' - // }; - // returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','completed') - // // ================================================ - // // ==================completed============================== - // StageName = 'Print' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random(), - // "ArtFile":"Art File uploaded", - // "moveTo": 'End' - // }; - // returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','End') - // // ================================================ -} - -startFlow() - -// setInterval(() => { -// startFlow() -// },20) -// -// setInterval(() => { -// startFlow() -// },20) diff --git a/client/src/assets/js/deepstream/recordStart.js b/client/src/assets/js/deepstream/recordStart.js deleted file mode 100644 index 3e60b2a..0000000 --- a/client/src/assets/js/deepstream/recordStart.js +++ /dev/null @@ -1,80 +0,0 @@ -const deepstream = require('deepstream.io-client-js') -const client = deepstream('ws://167.99.233.211:6020').login() -const DeepRecord = require('./deepRecord') - -let id = 0 - -async function startFlow () { - let instanceId = '39c53741-ec14-4ceb-a9db-97d7066cd424' - // ==================Flow initiated============================== - let instanceObj = await DeepRecord.startInstance(client, instanceId) - instanceObj.recordObj.subscribe((data) => { - }) - // // ==================OrderEntry============================== - // let StageName = 'OrderEntry' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random() - // }; - // let returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','ArtWork') - // // ==================OrderEntry============================== - // // ==================ArtWork============================== - // StageName = 'ArtWork' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random(), - // "ArtFile":"Art File uploaded" - // }; - // returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','Proof') - // // ================================================ - // // ==================Proof============================== - // StageName = 'Proof' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random(), - // "ArtFile":"Art File uploaded", - // "moveTo": 'Print' - // }; - // returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','Print') - // // ================================================ - // // ==================Proof============================== - // StageName = 'Print' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random(), - // "ArtFile":"Art File uploaded", - // "moveTo": 'completed' - // }; - // returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','completed') - // // ================================================ - // // ==================completed============================== - // StageName = 'Print' - // payload = { - // 'firstName': 'Test', - // "lastName": "Xyz", - // "po_number": Math.random(), - // "ArtFile":"Art File uploaded", - // "moveTo": 'End' - // }; - // returnObj = await DeepRecord.instanceStageSubmit(client, instanceName, StageName, payload); - // instanceObj.recordObj.set('currentStatus','End') - // // ================================================ -} - -startFlow() - -// setInterval(() => { -// startFlow() -// },20) -// -// setInterval(() => { -// startFlow() -// },20) diff --git a/client/src/components/GrapesComponent.vue b/client/src/components/GrapesComponent.vue deleted file mode 100644 index 128ea50..0000000 --- a/client/src/components/GrapesComponent.vue +++ /dev/null @@ -1,626 +0,0 @@ - - - - - - - diff --git a/client/src/components/ListInstances.vue b/client/src/components/ListInstances.vue index d887b12..8ad189c 100644 --- a/client/src/components/ListInstances.vue +++ b/client/src/components/ListInstances.vue @@ -4,32 +4,26 @@ {{item}} --> - {{breadItem.name}} - {{breadItem.state}} + {{setBreadcrumbs.name}} + {{setBreadcrumbs.state}} -
- +
+
- - +
Instance Id Current StatusProcess State Action
{{item.id}} - {{valueStatus(item.currentStatus)}} - {{valueStatus(item.currentStatus)}} - {{item.mainStatus}} - - @@ -40,7 +34,7 @@
- +
@@ -65,13 +59,14 @@ - - diff --git a/client/src/components/Schema.vue b/client/src/components/Schema.vue deleted file mode 100644 index 2843306..0000000 --- a/client/src/components/Schema.vue +++ /dev/null @@ -1,916 +0,0 @@ - - - - diff --git a/client/src/components/SchemaForm.vue b/client/src/components/SchemaForm.vue deleted file mode 100644 index d438d24..0000000 --- a/client/src/components/SchemaForm.vue +++ /dev/null @@ -1,337 +0,0 @@ - - - - \ No newline at end of file diff --git a/client/src/components/SchemaInstance.vue b/client/src/components/SchemaInstance.vue deleted file mode 100644 index d701afb..0000000 --- a/client/src/components/SchemaInstance.vue +++ /dev/null @@ -1,483 +0,0 @@ - - - \ No newline at end of file diff --git a/client/src/components/SchemaSubForm.vue b/client/src/components/SchemaSubForm.vue index 5d8e674..b474b0d 100644 --- a/client/src/components/SchemaSubForm.vue +++ b/client/src/components/SchemaSubForm.vue @@ -16,6 +16,7 @@ + @@ -27,19 +28,21 @@ {{field.name}} - - - + + + + + - + - + @@ -50,20 +53,25 @@ - + {{field.name}} - - -
-
- {{val}} +
+ +
+ +
+ +
{{val}} + ✕  + +   {{fileNumber}} / {{fileSize}} - +
@@ -77,72 +85,99 @@
- - - + \ No newline at end of file + diff --git a/client/src/components/SchemaSubFormView.vue b/client/src/components/SchemaSubFormView.vue index d84637e..61b012d 100644 --- a/client/src/components/SchemaSubFormView.vue +++ b/client/src/components/SchemaSubFormView.vue @@ -42,10 +42,10 @@
--> - + {{getAgoStatus(item.obj.createdAt)}} - + + + + + {{getAgoStatus(item.obj.completedAt)}} + + + {{ getDuration(item.obj.createdAt, item.obj.completedAt) }} Hours - User Avatar + + + {{ getDuration(item.obj.completedAt) }} Hours + + + User Avatar - + @@ -85,7 +97,6 @@ export default { }, filters: { getAgoStatus (item) { - console.log('item: ', item) return moment(item).fromNow() } }, @@ -96,6 +107,7 @@ export default { cancel () { }, classObject (item) { + // console.log('item: ', item) if (item.isCurrentTask === true && item.isCompletedTask === false) { return { 'currentTask': true } } else if (item.isCurrentTask === false && item.isCompletedTask === true) { @@ -111,15 +123,29 @@ export default { return moment(item).fromNow() }, getDuration (x, y) { - let x1 = moment(x) - let y1 = moment(y) - return y1.diff(x1, 'hours') + if (y) { + let x1 = moment(x) + let y1 = moment(y) + return y1.diff(x1, 'hours') + } else { + let x1 = moment(x) + let y1 = moment() + return y1.diff(x1, 'hours') + } }, getUserAvatar (item) { - return item.obj.user.avatar + if (item.obj.user.avatar) { + return item.obj.user.avatar + } else { + return ('https://www.sigmanest.com/wp-content/uploads/2017/11/Dummy.jpg') + } }, getUserHoverDetails (item) { - return ('Name: ' + item.obj.user.name + '\nEmail: ' + item.obj.user.email + '\nRole: ' + item.obj.user.role) + if (item.obj.user.name && item.obj.user.email && item.obj.user.role) { + return ('Name: ' + item.obj.user.name + '\nEmail: ' + item.obj.user.email + '\nRole: ' + item.obj.user.role) + } else { + return ('User details not available.') + } }, async showData (item) { this.$Spin.show() diff --git a/client/src/components/email.vue b/client/src/components/email.vue index a187d5d..0accf79 100644 --- a/client/src/components/email.vue +++ b/client/src/components/email.vue @@ -1,8 +1,10 @@ diff --git a/client/src/layout/Master.vue b/client/src/layout/Master.vue deleted file mode 100644 index 451423a..0000000 --- a/client/src/layout/Master.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - diff --git a/client/src/layout/SideBar.vue b/client/src/layout/SideBar.vue deleted file mode 100644 index 1772393..0000000 --- a/client/src/layout/SideBar.vue +++ /dev/null @@ -1,812 +0,0 @@ - - - - \ No newline at end of file diff --git a/client/src/layout/user/Common.vue b/client/src/layout/user/Common.vue deleted file mode 100644 index e2febc6..0000000 --- a/client/src/layout/user/Common.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - - diff --git a/client/src/layout/user/CommonHeader.vue b/client/src/layout/user/CommonHeader.vue deleted file mode 100644 index fe6320f..0000000 --- a/client/src/layout/user/CommonHeader.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - diff --git a/client/src/layout/user/Footer.vue b/client/src/layout/user/Footer.vue deleted file mode 100644 index 710a73b..0000000 --- a/client/src/layout/user/Footer.vue +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/client/src/layout/user/Header.vue b/client/src/layout/user/Header.vue deleted file mode 100644 index 4e93ec1..0000000 --- a/client/src/layout/user/Header.vue +++ /dev/null @@ -1,106 +0,0 @@ - - diff --git a/client/src/layout/user/Master.vue b/client/src/layout/user/Master.vue deleted file mode 100644 index a794b00..0000000 --- a/client/src/layout/user/Master.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - - - \ No newline at end of file diff --git a/client/src/layout/user/SideBar.vue b/client/src/layout/user/SideBar.vue deleted file mode 100644 index b1ba40d..0000000 --- a/client/src/layout/user/SideBar.vue +++ /dev/null @@ -1,280 +0,0 @@ - - - - - diff --git a/client/src/main.js b/client/src/main.js index 0692319..57058f8 100644 --- a/client/src/main.js +++ b/client/src/main.js @@ -10,10 +10,10 @@ import routes from './router' import store from './store' import config from '@/config' -import BootstrapVue from 'bootstrap-vue' -import 'bootstrap/dist/css/bootstrap.css' -import 'bootstrap-vue/dist/bootstrap-vue.css' -Vue.use(BootstrapVue) +// import BootstrapVue from 'bootstrap-vue' +// import 'bootstrap/dist/css/bootstrap.css' +// import 'bootstrap-vue/dist/bootstrap-vue.css' +// Vue.use(BootstrapVue) // import CellRender from '@/components/cellRender' // Vue.use(CellRender) @@ -43,11 +43,6 @@ const vueFeathers = require('vue-feathers') // And plug it in] Vue.use(vueFeathers, feathers) -import ElementUI from 'element-ui' -import element from 'element-ui/src/locale/lang/en' -import 'element-ui/lib/theme-default/index.css' -Vue.use(ElementUI, { element }) - /* vueTinymce */ import vueTinymce from '@deveodk/vue-tinymce' // You need a specific loader for CSS files like https://github.com/webpack/css-loader @@ -103,10 +98,6 @@ var router = new VueRouter({ } }) -// iView.LoadingBar.config({ -// color: '#5cb85c', -// height: 5 -// }) iView.LoadingBar.config({ color: '#5cb85c', failedColor: '#f0ad4e', @@ -119,17 +110,11 @@ import psl from 'psl' router.beforeEach((to, from, next) => { iView.LoadingBar.start() iView.LoadingBar.config({ color: '#0e406d' }) - // window.console.log('Transition', transition) - // router.app.$store.state.token - let obId = false + // window.console.log('Transition', transition) + // router.app.$store.state.token let location = psl.parse(window.location.hostname) // get parent domain location = location.domain === null ? location.input : location.domain - if (to.query.ob_id) { - // let location = psl.parse(window.location.hostname) // get parent domain - // location = location.domain === null ? location.input : location.domain - // router.app.$cookie.set('auth_token', to.query.ob_id, { expires: 1, domain: location }) - obId = to.query.ob_id - } + if (to.query.token) { router.app.$cookie.set('auth_token', to.query.token, { expires: 1, domain: location }) } @@ -141,164 +126,36 @@ router.beforeEach((to, from, next) => { } else { delete axios.defaults.headers.common['authorization'] } - if (to.matched.some(record => record.meta.requiresAuth) && obId) { - next({ - path: '/email-verification', - query: { ob_id: obId } - }) - } else if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === 'null')) { + + if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === 'null' || store.state.token === undefined)) { next({ path: '/login' // query: { redirect: to.fullPath } }) } else { if (to.matched.some(record => record.meta.requiresAuth) || (to.path === '/login')) { - // console.log('Hereeeeeeee', to.path) - // to.matched.some(record => { - // console.log(record.meta.role) - // }) - store.dispatch('authenticate', token).then(response => { - // console.log('authenticate', response) - // if (store.state.subscription !== '' && store.state.subscription !== null) { - if (response.hasOwnProperty('package')) { - // if (response.package[store.state.subscription] === undefined) { - if (store.state.subscription !== '' && store.state.subscription !== undefined) { - if (response.package[store.state.subscription].role === 'admin') { - store.commit('SET_ROLE', 1) - // next({ - // path: '/admin/dashboard' - // }) - } else { - store.commit('SET_ROLE', 2) - // next({ - // path: '/' - // }) - } + store.dispatch('authenticateToken', token).then(response => { + // get user role + if (to.path !== '/') { + if (to.matched.find(record => record.meta.role).meta.role.indexOf(parseInt(store.state.role)) === -1) { + next({ + path: '/' + }) } else { - if (response.hasOwnProperty('defaultSubscriptionId')) { - store.state.subscription = response.defaultSubscriptionId - if (response.package[store.state.subscription].role === 'admin') { - store.commit('SET_ROLE', 1) - // next({ - // path: '/admin/dashboard' - // }) - } else { - store.commit('SET_ROLE', 2) - // next({ - // path: '/' - // }) - } - } + next() } - // } } else { - store.commit('SET_ROLE', 2) - } - // } - - store.commit('SET_USER', response) - // get user role - if (to.matched.some(record => record.meta.role)) { - // console.log('1') - // if (store.state.subscription !== '' && store.state.subscription !== null) { - // console.log('2') - // if (response.hasOwnProperty('package')) { - // console.log('3') - // if (response.package[store.state.subscription].role === 'admin') { - // console.log('4') - // store.commit('SET_ROLE', 1) - // // next({ - // // path: '/admin/dashboard' - // // }) - // } else { - // console.log('5') - // store.commit('SET_ROLE', 2) - // // next({ - // // path: '/' - // // }) - // } - // } else { - // console.log('6') - // store.commit('SET_ROLE', 2) - // // next({ - // // path: '/' - // // }) - // } - // } else { - // // console.log('7') - // store.commit('SET_ROLE', 2) - // // next({ - // // path: '/' - // // }) - // } - // store.dispatch('getUser', response.email).then(user => { - // if (user) { - // console.log('8') - if (store.state.role !== null) { - // store.commit('SET_ROLE', 2) - // console.log('9') - // if (to.matched.find(record => record.meta.role).meta.role.indexOf(parseInt(store.state.role)) === -1) { - // console.log('10') - // next({ - // path: '/login' - // // query: { redirect: to.fullPath } - // }) - // // next() - // } else { - // console.log('11') - // next() - // } - // next({ - // path: parseInt(store.state.role) === 1 ? '/admin/dashboard' : '/' - // }) - // console.log('.........', to.path, store.state.role) - if (to.path === '/') { - if (store.state.role === 1) { - next({ - path: '/admin/dashboard' - }) - } else { - next({ - path: '/dashboard' - }) - } - } else { - if (to.matched.find(record => record.meta.role).meta.role.indexOf(parseInt(store.state.role)) === -1) { - next({ - path: '/' - }) - } else { - next() - } - } + if (store.state.role === 1) { + next({ + path: '/admin/dashboard' + }) } else { - // console.log('12') - store.commit('SET_ROLE', 2) next({ - path: '/' + path: '/dashboard' }) } - // } else { - // next() - // } - // }).catch(error => { - // console.log(error) - // // window.console.log('Not authenticated') - // next({ - // path: '/login' - // // query: { redirect: to.fullPath } - // }) - // }) - } else { - // console.log('13') - next({ - path: (to.path === '/login') ? (parseInt(store.state.role) === 1 ? '/admin/dashboard' : '/') : to.path - }) - // next() } - }).catch(error => { - console.log(error.message) - // window.console.log('Not authenticated') + }).catch(() => { router.app.$cookie.delete('auth_token', { domain: location }) store.commit('SET_TOKEN', null) store.commit('SET_USER', null) @@ -306,23 +163,12 @@ router.beforeEach((to, from, next) => { if (to.path !== '/login') { next({ path: '/login' - // query: { redirect: to.fullPath } }) } else { next() } }) } else { - // console.log('16') - // let path = token ? ((to.path === '/login') ? (parseInt(store.state.role) === 1 ? '/admin/dashboard' : '/') : to.path) : '/login' - // console.log(path) - // path: (token ? ((to.path === '/login') ? (parseInt(store.state.role) === 1 ? '/admin/dashboard' : '/') : to.path) : '/login') - - // console.log('login ===> ') - // next({ - // path: '/login' - // }) - next() } } @@ -334,6 +180,7 @@ router.afterEach(route => { sync(store, router) // console.log('process.env.accesskey', process.env.accesskey) + new Vue({ el: '#app', router, diff --git a/client/src/masterLayout/Header.vue b/client/src/masterLayout/Header.vue index d9e7c2b..ffd8e46 100644 --- a/client/src/masterLayout/Header.vue +++ b/client/src/masterLayout/Header.vue @@ -23,6 +23,12 @@ Home --> + + + + Email Template + + diff --git a/client/src/masterLayout/SideBar.vue b/client/src/masterLayout/SideBar.vue index 76a2d3e..4b010d0 100644 --- a/client/src/masterLayout/SideBar.vue +++ b/client/src/masterLayout/SideBar.vue @@ -37,8 +37,7 @@ - diff --git a/client/src/pages/approval/List.vue b/client/src/pages/approval/List.vue deleted file mode 100644 index 412d383..0000000 --- a/client/src/pages/approval/List.vue +++ /dev/null @@ -1,160 +0,0 @@ - - - - diff --git a/client/src/pages/approval/MailReply.vue b/client/src/pages/approval/MailReply.vue deleted file mode 100644 index 5f8bbcb..0000000 --- a/client/src/pages/approval/MailReply.vue +++ /dev/null @@ -1,302 +0,0 @@ - - - diff --git a/client/src/pages/approval/New.vue b/client/src/pages/approval/New.vue deleted file mode 100644 index 85619ee..0000000 --- a/client/src/pages/approval/New.vue +++ /dev/null @@ -1,332 +0,0 @@ - - - - - diff --git a/client/src/pages/approval/PropertyManage.vue b/client/src/pages/approval/PropertyManage.vue deleted file mode 100644 index 34afd21..0000000 --- a/client/src/pages/approval/PropertyManage.vue +++ /dev/null @@ -1,549 +0,0 @@ - - - diff --git a/client/src/pages/approval/View.vue b/client/src/pages/approval/View.vue deleted file mode 100644 index 7d3e137..0000000 --- a/client/src/pages/approval/View.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - - - diff --git a/client/src/pages/approval/expand-FormReply.vue b/client/src/pages/approval/expand-FormReply.vue deleted file mode 100644 index 32267c3..0000000 --- a/client/src/pages/approval/expand-FormReply.vue +++ /dev/null @@ -1,61 +0,0 @@ - - diff --git a/client/src/pages/dbSettings/List.vue b/client/src/pages/dbSettings/List.vue deleted file mode 100644 index 2507e34..0000000 --- a/client/src/pages/dbSettings/List.vue +++ /dev/null @@ -1,672 +0,0 @@ - - diff --git a/client/src/pages/dbSettings/New.vue b/client/src/pages/dbSettings/New.vue deleted file mode 100644 index 415ba46..0000000 --- a/client/src/pages/dbSettings/New.vue +++ /dev/null @@ -1,317 +0,0 @@ - - - - diff --git a/client/src/pages/flow/FlowOverview.vue b/client/src/pages/flow/FlowOverview.vue deleted file mode 100644 index 9011ce4..0000000 --- a/client/src/pages/flow/FlowOverview.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - diff --git a/client/src/pages/flow/List.vue b/client/src/pages/flow/List.vue index fb14ee6..82b558e 100644 --- a/client/src/pages/flow/List.vue +++ b/client/src/pages/flow/List.vue @@ -11,8 +11,7 @@
- -

{{titleCase(selectedFlowName)}}

+

{{titleCase(selectedFlowName)}}

Instance Id
@@ -23,8 +22,7 @@ @@ -118,32 +81,32 @@
- +
- - + - + +
- - + - + +
- Invite Now +
@@ -162,71 +125,6 @@
- - - - - - - @@ -237,110 +135,32 @@ - - - - - - - - - \ No newline at end of file diff --git a/client/src/pages/flow/assigned_invite_table-expand.vue b/client/src/pages/flow/assigned_invite_table-expand.vue index e97fa02..3eac0ef 100644 --- a/client/src/pages/flow/assigned_invite_table-expand.vue +++ b/client/src/pages/flow/assigned_invite_table-expand.vue @@ -24,7 +24,6 @@ import axios from 'axios' import config from '../../config/index' let subscriptionUrl = config.subscriptionUrl - import Cookies from 'js-cookie' import moment from 'moment' import Vue from 'vue' import iView from 'iview' @@ -123,7 +122,7 @@ axios({ method: 'post', url: 'https://api.' + process.env.domainkey + '/vmailmicro/sendEmail', - headers: { authorization: Cookies.get('auth_token') }, + headers: { authorization: this.$store.state.token }, data: { 'to': data.toEmail, 'from': data.fromEmail, 'subject': 'Invitation from Flowz', 'body': SendEmailBody } }) .then(async (result) => { @@ -158,7 +157,7 @@ url: subscriptionUrl + 'invite', params: paramss, headers: { - authorization: Cookies.get('auth_token') + authorization: this.$store.state.token } }) .then(function (response) { @@ -185,7 +184,7 @@ subscriptionId: this.row.subscriptionId }, headers: { - authorization: Cookies.get('auth_token') + authorization: this.$store.state.token } }) .then(function (result) { diff --git a/client/src/pages/flow/instance/New.vue b/client/src/pages/flow/instance/New.vue deleted file mode 100644 index c993d87..0000000 --- a/client/src/pages/flow/instance/New.vue +++ /dev/null @@ -1,415 +0,0 @@ - - - diff --git a/client/src/pages/flow/instance/formdata-expand.vue b/client/src/pages/flow/instance/formdata-expand.vue deleted file mode 100644 index 50cebb9..0000000 --- a/client/src/pages/flow/instance/formdata-expand.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/client/src/pages/flow/permissions.vue b/client/src/pages/flow/permissions.vue index 4cfe333..aceb65e 100644 --- a/client/src/pages/flow/permissions.vue +++ b/client/src/pages/flow/permissions.vue @@ -34,7 +34,7 @@ diff --git a/client/src/userLayout/Master.vue b/client/src/userLayout/Master.vue deleted file mode 100644 index 3fbedc8..0000000 --- a/client/src/userLayout/Master.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - \ No newline at end of file diff --git a/client/src/userLayout/SideBar.vue b/client/src/userLayout/SideBar.vue deleted file mode 100644 index 9710518..0000000 --- a/client/src/userLayout/SideBar.vue +++ /dev/null @@ -1,92 +0,0 @@ - - - - diff --git a/client/static/bpmn/bpmn-js-properties-panel/lib/provider/camunda/CamundaPropertiesProvider.js b/client/static/bpmn/bpmn-js-properties-panel/lib/provider/camunda/CamundaPropertiesProvider.js index 53647d2..d524eb5 100644 --- a/client/static/bpmn/bpmn-js-properties-panel/lib/provider/camunda/CamundaPropertiesProvider.js +++ b/client/static/bpmn/bpmn-js-properties-panel/lib/provider/camunda/CamundaPropertiesProvider.js @@ -24,6 +24,7 @@ var serviceTaskDelegateProps = require('./parts/ServiceTaskDelegateProps'), // myInputProps = require('./parts/MyInputProps'), myPropertiesIOProps = require('./parts/myPropertiesIOProps'), schemaProps = require('./parts/schemaProps'), + emailProps = require('./parts/emailTemplate'), myOutputProps = require('./parts/myOutputProps'), // myConfigProps = require('./parts/MyConfigProps'), mySMTPProps = require('./parts/MySMTPProps'), @@ -114,6 +115,7 @@ function createGeneralTabGroups(element, bpmnFactory, elementRegistry, elementTe idProps(generalGroup, element, translate); nameProps(generalGroup, element, translate); schemaProps(generalGroup, element, bpmnFactory, translate, options); + emailProps(generalGroup, element, bpmnFactory, translate, options); capacityProps(generalGroup, element, translate); processProps(generalGroup, element, translate); versionTag(generalGroup, element, translate); diff --git a/client/static/bpmn/bpmn-js-properties-panel/lib/provider/camunda/parts/emailTemplate.js b/client/static/bpmn/bpmn-js-properties-panel/lib/provider/camunda/parts/emailTemplate.js new file mode 100644 index 0000000..b036d5a --- /dev/null +++ b/client/static/bpmn/bpmn-js-properties-panel/lib/provider/camunda/parts/emailTemplate.js @@ -0,0 +1,97 @@ +// 'use strict'; + +// var entryFactory = require('../../../factory/EntryFactory'), +// getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject, +// utils = require('../../../Utils'), +// is = require('bpmn-js/lib/util/ModelUtil').is, +// cmdHelper = require('../../../helper/CmdHelper'); +// let data_ = [] + +// module.exports = function (group, element, bpmnFactory, translate, options) { + +// var bo = getBusinessObject(element); + +// if (!bo) { +// return; +// } + +// // if (is(element, 'bpmn:Process') || is(element, 'bpmn:Participant') && bo.get('processRef')) { +// if (options != undefined) { +// data_ = options.schema +// } +// let entitySchemaOptions = data_.map(f => ({ value: f.id, name: f.title })) + +// let SchemaEntry = entryFactory.selectBox({ +// id: 'schema', +// label: translate('Schema'), +// selectOptions: entitySchemaOptions, +// modelProperty: 'schema' +// }); + +// // in participants we have to change the default behavior of set and get +// if (is(element, 'camunda:Sendproofmail')) { +// SchemaEntry.get = function (element) { +// var processBo = bo.get('processRef'); + +// return { +// schema: processBo.get('camunda:schema') +// }; +// }; + +// SchemaEntry.set = function (element, values) { +// var processBo = bo.get('processRef'); + +// return cmdHelper.updateBusinessObject(element, processBo, { +// 'camunda:schema': values.schema || undefined +// }); +// }; +// } + +// group.entries.push(SchemaEntry); + +// // } +// }; + +'use strict'; + +let $ = require('jquery') +var entryFactory = require('../../../factory/EntryFactory'), + cmdHelper = require('../../../helper/CmdHelper'), + is = require('bpmn-js/lib/util/ModelUtil').is, + getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject; +let nameProps = require('../../bpmn/parts/NameProps'); +// import userData from '../../../../../../../src/store/index' +let userData = require('../../../../../../../src/store/index') +/** + * Generate a form field specific textField using entryFactory. + * + * @param {string} options.id + * @param {string} options.label + * @param {string} options.modelProperty + * @param {function} options.validate + * + * @return {Object} an entryFactory.textField object + */ +let emailTemplateData; +module.exports = function (generalGroup, element, bpmnFactory, translate, options) { + var bo = getBusinessObject(element); + + if (!bo) { + return; + } + if (options !== undefined) { + emailTemplateData = options.emailTemplate.map(f => ({ value: f.id, name: f.templateName })) + } + if (is(element, 'camunda:Sendproofmail')) { + let SchemaEntry = entryFactory.selectBox({ + id: 'emailtemplate', + label: translate('Email Template'), + selectOptions: emailTemplateData, + modelProperty: 'emailtemplate' + }); + generalGroup.entries.push(SchemaEntry); + } + + +}; + diff --git a/client/static/bpmn/camunda-bpmn-moddle/resources/camunda.json b/client/static/bpmn/camunda-bpmn-moddle/resources/camunda.json index 4de852d..3cb16a1 100644 --- a/client/static/bpmn/camunda-bpmn-moddle/resources/camunda.json +++ b/client/static/bpmn/camunda-bpmn-moddle/resources/camunda.json @@ -235,6 +235,11 @@ "isAttr": true, "type": "String" }, + { + "name": "emailtemplate", + "isAttr": true, + "type": "String" + }, { "name": "versionTag", "isAttr": true, diff --git a/client/static/css/grapes.min.css b/client/static/css/grapes.min.css deleted file mode 100644 index 4ccd388..0000000 --- a/client/static/css/grapes.min.css +++ /dev/null @@ -1,4 +0,0 @@ -.sp-container{position:absolute;top:0;left:0;display:inline-block;*display:inline;*zoom:1;z-index:9999994;overflow:hidden}.sp-container.sp-flat{position:relative}.sp-container,.sp-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sp-top{position:relative;width:100%;display:inline-block}.sp-top-inner{position:absolute;top:0;left:0;bottom:0;right:0}.sp-color{position:absolute;top:0;left:0;bottom:0;right:20%}.sp-hue{position:absolute;top:0;right:0;bottom:0;left:84%;height:100%}.sp-clear-enabled .sp-hue{top:33px;height:77.5%}.sp-fill{padding-top:80%}.sp-sat,.sp-val{position:absolute;top:0;left:0;right:0;bottom:0}.sp-alpha-enabled .sp-top{margin-bottom:18px}.sp-alpha-enabled .sp-alpha{display:block}.sp-alpha-handle{position:absolute;top:-4px;bottom:-4px;width:6px;left:50%;cursor:pointer;border:1px solid black;background:white;opacity:.8}.sp-alpha{display:none;position:absolute;bottom:-14px;right:0;left:0;height:8px}.sp-alpha-inner{border:solid 1px #333}.sp-clear{display:none}.sp-clear.sp-clear-display{background-position:center}.sp-clear-enabled .sp-clear{display:block;position:absolute;top:0px;right:0;bottom:0;left:84%;height:28px}.sp-container,.sp-replacer,.sp-preview,.sp-dragger,.sp-slider,.sp-alpha,.sp-clear,.sp-alpha-handle,.sp-container.sp-dragging .sp-input,.sp-container button{-webkit-user-select:none;-moz-user-select:-moz-none;-o-user-select:none;user-select:none}.sp-container.sp-input-disabled .sp-input-container{display:none}.sp-container.sp-buttons-disabled .sp-button-container{display:none}.sp-container.sp-palette-buttons-disabled .sp-palette-button-container{display:none}.sp-palette-only .sp-picker-container{display:none}.sp-palette-disabled .sp-palette-container{display:none}.sp-initial-disabled .sp-initial{display:none}.sp-sat{background-image:-webkit-gradient(linear, 0 0, 100% 0, from(#fff), to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left, #fff, rgba(204,154,129,0));background-image:-moz-linear-gradient(left, #fff, rgba(204,154,129,0));background-image:-o-linear-gradient(left, #fff, rgba(204,154,129,0));background-image:-ms-linear-gradient(left, #fff, rgba(204,154,129,0));background-image:linear-gradient(to right, #fff, rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81')}.sp-val{background-image:-webkit-gradient(linear, 0 100%, 0 0, from(#000), to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(bottom, #000, rgba(204,154,129,0));background-image:-moz-linear-gradient(bottom, #000, rgba(204,154,129,0));background-image:-o-linear-gradient(bottom, #000, rgba(204,154,129,0));background-image:-ms-linear-gradient(bottom, #000, rgba(204,154,129,0));background-image:linear-gradient(to top, #000, rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000')}.sp-hue{background:-moz-linear-gradient(top, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%);background:-ms-linear-gradient(top, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%);background:-o-linear-gradient(top, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%);background:-webkit-gradient(linear, left top, left bottom, from(red), color-stop(0.17, #ff0), color-stop(0.33, lime), color-stop(0.5, cyan), color-stop(0.67, blue), color-stop(0.83, #f0f), to(red));background:-webkit-linear-gradient(top, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%);background:linear-gradient(to bottom, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%)}.sp-1{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00')}.sp-2{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00')}.sp-3{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff')}.sp-4{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff')}.sp-5{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff')}.sp-6{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000')}.sp-hidden{display:none !important}.sp-cf:before,.sp-cf:after{content:"";display:table}.sp-cf:after{clear:both}.sp-cf{*zoom:1}@media (max-device-width: 480px){.sp-color{right:40%}.sp-hue{left:63%}.sp-fill{padding-top:60%}}.sp-dragger{border-radius:5px;height:5px;width:5px;border:1px solid #fff;background:#000;cursor:pointer;position:absolute;top:0;left:0}.sp-slider{position:absolute;top:0;cursor:pointer;height:3px;left:-1px;right:-1px;border:1px solid #000;background:white;opacity:.8}.sp-container{border-radius:0;background-color:#ECECEC;border:solid 1px #f0c49B;padding:0}.sp-container,.sp-container button,.sp-container input,.sp-color,.sp-hue,.sp-clear{font:normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.sp-top{margin-bottom:3px}.sp-color,.sp-hue,.sp-clear{border:solid 1px #666}.sp-input-container{float:right;width:100px;margin-bottom:4px}.sp-initial-disabled .sp-input-container{width:100%}.sp-input{font-size:12px !important;border:1px inset;padding:4px 5px;margin:0;width:100%;background:transparent;border-radius:3px;color:#222}.sp-input:focus{border:1px solid orange}.sp-input.sp-validation-error{border:1px solid red;background:#fdd}.sp-picker-container,.sp-palette-container{float:left;position:relative;padding:10px;padding-bottom:300px;margin-bottom:-290px}.sp-picker-container{width:172px;border-left:solid 1px #fff}.sp-palette-container{border-right:solid 1px #ccc}.sp-palette-only .sp-palette-container{border:0}.sp-palette .sp-thumb-el{display:block;position:relative;float:left;width:24px;height:15px;margin:3px;cursor:pointer;border:solid 2px transparent}.sp-palette .sp-thumb-el:hover,.sp-palette .sp-thumb-el.sp-thumb-active{border-color:orange}.sp-thumb-el{position:relative}.sp-initial{float:left;border:solid 1px #333}.sp-initial span{width:30px;height:25px;border:none;display:block;float:left;margin:0}.sp-initial .sp-clear-display{background-position:center}.sp-palette-button-container,.sp-button-container{float:right}.sp-replacer{margin:0;overflow:hidden;cursor:pointer;padding:4px;display:inline-block;*zoom:1;*display:inline;border:solid 1px #91765d;background:#eee;color:#333;vertical-align:middle}.sp-replacer:hover,.sp-replacer.sp-active{border-color:#F0C49B;color:#111}.sp-replacer.sp-disabled{cursor:default;border-color:silver;color:silver}.sp-dd{padding:2px 0;height:16px;line-height:16px;float:left;font-size:10px}.sp-preview{position:relative;width:25px;height:20px;border:solid 1px #222;margin-right:5px;float:left;z-index:0}.sp-palette{*width:220px;max-width:220px}.sp-palette .sp-thumb-el{width:16px;height:16px;margin:2px 1px;border:solid 1px #d0d0d0}.sp-container{padding-bottom:0}.sp-container button{background-color:#eeeeee;background-image:-webkit-linear-gradient(top, #eee, #ccc);background-image:-moz-linear-gradient(top, #eee, #ccc);background-image:-ms-linear-gradient(top, #eee, #ccc);background-image:-o-linear-gradient(top, #eee, #ccc);background-image:linear-gradient(to bottom, #eee, #ccc);border:1px solid #ccc;border-bottom:1px solid #bbb;border-radius:3px;color:#333;font-size:14px;line-height:1;padding:5px 4px;text-align:center;text-shadow:0 1px 0 #eee;vertical-align:middle}.sp-container button:hover{background-color:#dddddd;background-image:-webkit-linear-gradient(top, #ddd, #bbb);background-image:-moz-linear-gradient(top, #ddd, #bbb);background-image:-ms-linear-gradient(top, #ddd, #bbb);background-image:-o-linear-gradient(top, #ddd, #bbb);background-image:linear-gradient(to bottom, #ddd, #bbb);border:1px solid #bbb;border-bottom:1px solid #999;cursor:pointer;text-shadow:0 1px 0 #ddd}.sp-container button:active{border:1px solid #aaa;border-bottom:1px solid #888;-webkit-box-shadow:inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;-moz-box-shadow:inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;-ms-box-shadow:inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;-o-box-shadow:inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;box-shadow:inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee}.sp-cancel{font-size:11px;color:#d93f3f !important;margin:0;padding:2px;margin-right:5px;vertical-align:middle;text-decoration:none}.sp-cancel:hover{color:#d93f3f !important;text-decoration:underline}.sp-palette span:hover,.sp-palette span.sp-thumb-active{border-color:#000}.sp-preview,.sp-alpha,.sp-thumb-el{position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.sp-preview-inner,.sp-alpha-inner,.sp-thumb-inner{display:block;position:absolute;top:0;left:0;bottom:0;right:0}.sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)}.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)}.sp-clear-display{background-repeat:no-repeat;background-position:center;background-image:url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==)}/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-hotel:before,.fa-bed:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-yc:before,.fa-y-combinator:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-tv:before,.fa-television:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:""}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-signing:before,.fa-sign-language:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-vcard:before,.fa-address-card:before{content:""}.fa-vcard-o:before,.fa-address-card-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.CodeMirror{font-family:monospace;height:300px;color:black}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:white}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:black}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0 !important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{0%{}50%{background-color:transparent}100%{}}@-webkit-keyframes blink{0%{}50%{background-color:transparent}100%{}}@keyframes blink{0%{}50%{background-color:transparent}100%{}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:#f00}.cm-invalidchar{color:#f00}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,0.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll !important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none !important;border:none !important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper{-webkit-user-select:none;-moz-user-select:none;user-select:none}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:none;font-variant-ligatures:none}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,0.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:none}.cm-s-hopscotch.CodeMirror{background:#322931;color:#d5d3d5}.cm-s-hopscotch div.CodeMirror-selected{background:#433b42 !important}.cm-s-hopscotch .CodeMirror-gutters{background:#322931;border-right:0px}.cm-s-hopscotch .CodeMirror-linenumber{color:#797379}.cm-s-hopscotch .CodeMirror-cursor{border-left:1px solid #989498 !important}.cm-s-hopscotch span.cm-comment{color:#b33508}.cm-s-hopscotch span.cm-atom{color:#c85e7c}.cm-s-hopscotch span.cm-number{color:#c85e7c}.cm-s-hopscotch span.cm-property,.cm-s-hopscotch span.cm-attribute{color:#8fc13e}.cm-s-hopscotch span.cm-keyword{color:#dd464c}.cm-s-hopscotch span.cm-string{color:#fdcc59}.cm-s-hopscotch span.cm-variable{color:#8fc13e}.cm-s-hopscotch span.cm-variable-2{color:#1290bf}.cm-s-hopscotch span.cm-def{color:#fd8b19}.cm-s-hopscotch span.cm-error{background:#dd464c;color:#989498}.cm-s-hopscotch span.cm-bracket{color:#d5d3d5}.cm-s-hopscotch span.cm-tag{color:#dd464c}.cm-s-hopscotch span.cm-link{color:#c85e7c}.cm-s-hopscotch .CodeMirror-matchingbracket{text-decoration:underline;color:white !important}.cm-s-hopscotch .CodeMirror-activeline-background{background:#302020}@font-face{font-family:'font3336';src:url("../fonts/main-fonts.eot?v=20");src:url("../fonts/main-fonts.woff?v=20") format("woff"),url("../fonts/main-fonts.ttf?v=20") format("truetype"),url("../fonts/main-fonts.svg?v=20") format("svg"),url("../fonts/main-fonts.eot?v=20") format("embedded-opentype");font-weight:normal;font-style:normal}.gjs-active-color{color:#71b7f1}.gjs-warn-color{color:#ffca6f}.gjs-fonts::before{display:block;font:normal normal normal 14px font3336;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:5em}.gjs-f-b1::before{content:'Q'}.gjs-f-b2::before{content:'W'}.gjs-f-b3::before{content:'E'}.gjs-f-b37::before{content:'R'}.gjs-f-hero::before{content:'T'}.gjs-f-h1p::before{content:'y'}.gjs-f-3ba::before{content:'u'}.gjs-f-image::before{content:'I'}.gjs-f-text::before{content:'o'}.gjs-f-quo::before{content:'p'}.gjs-f-button::before{content:'B'}.gjs-f-divider::before{content:'D'}.gjs-invis-invis,.gjs-clm-tags #gjs-clm-new,.gjs-no-app{background-color:transparent;border:none;color:inherit}.gjs-no-app{height:10px}.gjs-test::btn{color:'#fff'}.opac50,.gjs-clm-tags #gjs-clm-close{opacity:.5;filter:alpha(opacity=50)}.gjs-checker-bg,.gjs-field-colorp-c,.checker-bg,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==")}.gjs-no-user-select,.gjs-grabbing,.gjs-grabbing *,.gjs-nav-comp-name{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.gjs-no-pointer-events,.gjs-resizer-c,.gjs-margin-v-el,.gjs-padding-v-el,.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el{pointer-events:none}.gjs-bg-main,.gjs-off-prv,.gjs-select option,.gjs-clm-select option,.gjs-sm-select option,.gjs-sm-unit option,.gjs-pn-panel,.gjs-nv-item .gjs-nv-title-c,.gjs-field-select option,.gjs-sm-sector .gjs-sm-colorp-c,.gjs-clm-tags .gjs-sm-colorp-c,.gjs-block,.gjs-mdl-dialog,#gjs-rte-toolbar,.sp-container{background-color:#444}.gjs-color-main,.gjs-off-prv,.gjs-btn-prim,.gjs-pn-panel,.gjs-pn-btn,.gjs-btnt,.gjs-sm-sector .gjs-sm-field.gjs-sm-composite,.gjs-clm-tags .gjs-sm-field.gjs-sm-composite,.gjs-sm-sector .gjs-sm-composite.gjs-clm-field,.gjs-clm-tags .gjs-sm-composite.gjs-clm-field,.gjs-sm-sector .gjs-sm-stack #gjs-sm-add,.gjs-clm-tags .gjs-sm-stack #gjs-sm-add,.gjs-block-svg-path,.gjs-mdl-dialog,#gjs-rte-toolbar .gjs-rte-btn{color:#ddd;fill:#ddd}.gjs-color-active,.gjs-pn-btn.gjs-pn-active,.gjs-btnt.gjs-pn-active{color:#f8f8f8;fill:#f8f8f8}.gjs-bdrag{pointer-events:none !important;position:absolute !important;z-index:10 !important;width:auto}.gjs-drag-helper{background-color:#3b97e3 !important;pointer-events:none !important;position:absolute !important;z-index:10 !important;transform:scale(0.3) !important;transform-origin:top left !important;-webkit-transform-origin:top left !important;margin:15px !important;transition:none !important;outline:none !important}.gjs-grabbing,.gjs-grabbing *{cursor:grabbing !important;cursor:-webkit-grabbing !important}.gjs-grabbing{overflow:hidden}.gjs-off-prv{position:relative;z-index:10;padding:5px;cursor:pointer}.gjs-editor-cont ::-webkit-scrollbar-track{background:rgba(0,0,0,0.1)}.gjs-editor-cont ::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.2)}.gjs-editor-cont ::-webkit-scrollbar{width:8px}.clear{clear:both}.no-select,.gjs-com-no-select,.gjs-com-no-select img,.gjs-category-title,.gjs-sm-sector .gjs-sm-title,.gjs-clm-tags .gjs-sm-title,.gjs-block-category .gjs-title,.gjs-clm-tags #gjs-clm-close,.gjs-clm-tags #gjs-clm-tag-label{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.gjs-editor{font-family:Helvetica,sans-serif;background-color:#444;position:relative;box-sizing:border-box;height:100%}.gjs-freezed,.gjs-nv-freezed{opacity:.5;filter:alpha(opacity=50);pointer-events:none}.gjs-btn-prim{background-color:rgba(255,255,255,0.1);border-radius:2px;padding:3px 6px;cursor:pointer;padding:0.5em;border:none}.gjs-btn-prim:active{background-color:rgba(255,255,255,0.1)}.gjs-input,.gjs-select{background-color:rgba(0,0,0,0.3);border:1px solid rgba(0,0,0,0.1);border-radius:2px;box-shadow:1px 1px 0 rgba(255,255,255,0.1);box-sizing:border-box;color:#ddd;padding:0.5em 1em}div.gjs-select{padding:0}.gjs-select select{padding-right:10px}.gjs-select:-moz-focusring,.gjs-select select:-moz-focusring{color:transparent;text-shadow:0 0 0 rgba(255,255,255,0.7)}.gjs-input:focus,.gjs-select:focus,.gjs-button:focus,.gjs-btn-prim:focus,.gjs-select:focus,.gjs-select select:focus{outline:none}.gjs-traits-label{border-bottom:1px solid rgba(0,0,0,0.3);font-size:13px;font-weight:lighter;margin-bottom:5px;padding:10px;text-align:left}.gjs-trt-trait{display:flex;justify-content:start;padding:5px 10px;font-size:0.75em;font-weight:lighter}.gjs-trt-trait .gjs-label{width:30%;text-align:left}.gjs-trt-trait .gjs-field{width:70%}.gjs-cv-canvas{background-color:rgba(0,0,0,0.15);box-sizing:border-box;position:absolute;width:85%;height:100%;bottom:0;left:0;overflow:hidden;padding-top:40px;z-index:1}.gjs-cv-canvas>iframe{height:100%;outline:medium none;width:100%;border:none;margin:0 auto;display:block}.gjs-cv-canvas .gjs-ghost{display:none;pointer-events:none;background-color:#5b5b5b;border:2px dashed #ccc;position:absolute;z-index:10;opacity:.55;filter:alpha(opacity=55)}.gjs-cv-canvas .gjs-highlighter,.gjs-cv-canvas .gjs-highlighter-sel{position:absolute;outline:1px solid #3b97e3;pointer-events:none}.gjs-cv-canvas .gjs-highlighter-warning{outline:3px solid #ffca6f}.gjs-cv-canvas .gjs-highlighter-sel{outline:3px solid #3b97e3}.gjs-cv-canvas #gjs-tools{width:100%;position:absolute;top:0;left:0;outline:none}.gjs-cv-canvas>div:first-child{background-color:#fff;position:relative;height:100%;overflow:auto;width:100%}.gjs-cv-canvas *{box-sizing:border-box}.gjs-frame{transition:width 0.35s ease}.gjs-toolbar{position:absolute;background-color:#3b97e3;color:white;z-index:10}.gjs-toolbar-item{padding:5px 7px;font-size:0.8rem;cursor:pointer}.gjs-resizer-c{position:absolute;z-index:9}.gjs-margin-v-el,.gjs-padding-v-el,.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el{opacity:.1;filter:alpha(opacity=10);position:absolute;background-color:yellow}.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el{opacity:.2;filter:alpha(opacity=20)}.gjs-padding-v-el,.gjs-fixedpadding-v-el{background-color:navy}.gjs-resizer-h{pointer-events:all;position:absolute;border:3px solid #3b97e3;width:10px;height:10px;background-color:#fff;margin:-5px}.gjs-resizer-h-tl{top:0;left:0;cursor:nwse-resize}.gjs-resizer-h-tr{top:0;right:0;cursor:nesw-resize}.gjs-resizer-h-tc{top:0;margin:-5px auto;left:0;right:0;cursor:ns-resize}.gjs-resizer-h-cl{left:0;margin:auto -5px;top:0;bottom:0;cursor:ew-resize}.gjs-resizer-h-cr{margin:auto -5px;top:0;bottom:0;right:0;cursor:ew-resize}.gjs-resizer-h-bl{bottom:0;left:0;cursor:nesw-resize}.gjs-resizer-h-bc{bottom:0;margin:-5px auto;left:0;right:0;cursor:ns-resize}.gjs-resizer-h-br{bottom:0;right:0;cursor:nwse-resize}.gjs-pn-panel .gjs-resizer-h{background-color:rgba(0,0,0,0.2);border:none;opacity:0;transition:opacity 0.25s}.gjs-pn-panel .gjs-resizer-h:hover{opacity:1}.gjs-pn-panel .gjs-resizer-h-tc,.gjs-pn-panel .gjs-resizer-h-bc{margin:0 auto;width:100%}.gjs-pn-panel .gjs-resizer-h-cr,.gjs-pn-panel .gjs-resizer-h-cl{margin:auto 0;height:100%}.gjs-resizing .gjs-highlighter,.gjs-resizing .gjs-badge{display:none !important}.gjs-resizing-tl *{cursor:nwse-resize !important}.gjs-resizing-tr *{cursor:nesw-resize !important}.gjs-resizing-tc *{cursor:ns-resize !important}.gjs-resizing-cl *{cursor:ew-resize !important}.gjs-resizing-cr *{cursor:ew-resize !important}.gjs-resizing-bl *{cursor:nesw-resize !important}.gjs-resizing-bc *{cursor:ns-resize !important}.gjs-resizing-br *{cursor:nwse-resize !important}.btn-cl,.gjs-mdl-dialog .gjs-mdl-btn-close,.gjs-am-assets-cont #gjs-am-close{opacity:.3;filter:alpha(opacity=30);font-size:25px;cursor:pointer}.btn-cl:hover,.gjs-mdl-dialog .gjs-mdl-btn-close:hover,.gjs-am-assets-cont #gjs-am-close:hover{opacity:.7;filter:alpha(opacity=70)}#commands.panel{min-width:35px;height:100%;z-index:3}#options.panel{z-index:4;bottom:0}#views.panel{width:16.5%;font-weight:lighter;color:#ddd;right:0;top:0;z-index:3;height:100%;padding:0}#views.panel .c{height:100%}#commands.panel,#options.panel{width:3.5%;left:0}#options .c{display:table;margin:0 auto}body.dragging,body.dragging *{cursor:move !important}.dragged{position:absolute;opacity:.5;filter:alpha(opacity=50);z-index:2000}ol.example li.placeholder{position:relative}ol.example li.placeholder:before{position:absolute}.no-dots,.ui-resizable-handle{border:none !important;margin:0 !important;outline:none !important}.gjs-com-dashed *{outline:1px dashed #888;outline-offset:-2px;box-sizing:border-box}.gjs-cv-canvas .gjs-comp-selected{outline:3px solid #3b97e3 !important}*.gjs-com-hover,div.gjs-com-hover{outline:1px solid #3b97e3}*.gjs-com-hover-delete,div.gjs-com-hover-delete{outline:2px solid #dd3636;opacity:.5;filter:alpha(opacity=50)}*.gjs-com-hover-move,div.gjs-com-hover-move{outline:3px solid #ffca6f}.gjs-com-badge,.gjs-com-badge-red,.gjs-badge{pointer-events:none;background-color:#3b97e3;color:#fff;padding:2px 5px;position:absolute;z-index:1;font-size:12px;outline:none;display:none}.gjs-com-badge-red{background-color:#dd3636}.gjs-badge-warning{background-color:#ffca6f}.gjs-placeholder,.gjs-com-placeholder,.gjs-nv-placeholder{position:absolute;z-index:10;pointer-events:none;display:none}.gjs-placeholder,.gjs-nv-placeholder{border-style:solid !important;border-color:#62c462;outline:none;box-sizing:border-box}.gjs-placeholder-int,.gjs-com-placeholder-int,.gjs-nv-placeholder-int{background-color:#62c462;box-shadow:0 0 3px rgba(0,0,0,0.2);height:100%;width:100%;pointer-events:none;padding:1.5px;outline:none}.gjs-pn-panel{display:inline-block;padding:5px;position:absolute;box-sizing:border-box;text-align:center;z-index:3}.gjs-pn-panel#gjs-pn-commands,.gjs-pn-panel#gjs-pn-options2{width:85%;left:0;top:0;box-shadow:0 0 5px rgba(0,0,0,0.3)}.gjs-pn-panel#gjs-pn-options{right:15%;top:0}.gjs-pn-panel#gjs-pn-options2{bottom:150px;height:auto}.gjs-pn-panel .icon-undo,.gjs-pn-panel .icon-redo{font-size:20px;height:30px;width:25px}.gjs-pn-panel#gjs-pn-views{border-bottom:2px solid rgba(0,0,0,0.3);right:0;width:15%;z-index:4}.gjs-pn-panel#gjs-pn-views-container{height:100%;padding:42px 0 0;right:0;width:15%;overflow:auto;box-shadow:0 0 5px rgba(0,0,0,0.3)}.gjs-pn-buttons{align-items:center;display:flex;justify-content:center}.gjs-pn-btn,.gjs-btnt{box-sizing:border-box;height:30px;width:30px;line-height:21px;background-color:transparent;border:none;font-size:18px;margin-right:5px;border-radius:2px;cursor:pointer;padding:5px;position:relative}.gjs-pn-btn.gjs-pn-active,.gjs-btnt.gjs-pn-active{background-color:rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.25) inset}.gjs-pn-btn>.gjs-pn-arrow-rd,.gjs-btnt>.gjs-pn-arrow-rd{border-bottom:5px solid rgba(255,255,255,0.7);border-left:5px solid transparent;bottom:2px;right:2px;position:absolute}.gjs-pn-btn>.gjs-pn-buttons,.gjs-btnt>.gjs-pn-buttons{background-color:#444;border-radius:2px;position:absolute;display:none;left:50px;top:0;padding:5px}.gjs-pn-btn>.gjs-pn-buttons.gjs-pn-visible,.gjs-btnt>.gjs-pn-buttons.gjs-pn-visible{display:block}.gjs-pn-btn>.gjs-pn-buttons>.gjs-pn-arrow-l,.gjs-btnt>.gjs-pn-buttons>.gjs-pn-arrow-l{border-bottom:5px solid transparent;border-right:5px solid #444;border-top:5px solid transparent;left:-5px;top:15px;position:absolute}.gjs-nv-selected-parent{border:1px solid #ffca6f}.gjs-nv-opac50{opacity:.5;filter:alpha(opacity=50)}.gjs-nv-navigator{position:relative;height:100%}.gjs-nv-navigator #gjs-nv-placeholder{width:100%;position:absolute}.gjs-nv-navigator #gjs-nv-placeholder #gjs-nv-plh-int{height:100%;padding:1px}.gjs-nv-navigator #gjs-nv-placeholder #gjs-nv-plh-int.gjs-nv-insert{background-color:#62c462}.gjs-nv-navigator .gjs-nv-item{font-weight:lighter;text-align:left;position:relative;background-color:rgba(0,0,0,0.1)}.gjs-nv-navigator .gjs-nv-item.gjs-nv-hide{opacity:.55;filter:alpha(opacity=55)}.gjs-nv-navigator .gjs-nv-item #gjs-nv-counter{font-size:10px;position:absolute;right:27px;top:9px}.gjs-nv-navigator .gjs-nv-item #gjs-nv-btn-eye{height:auto !important;width:auto !important;font-size:13px;left:0;top:0;padding:7px 5px 7px 10px;position:absolute;cursor:pointer;z-index:1}.gjs-nv-item #gjs-nv-caret{font-size:7px;width:8px;padding:5px;cursor:pointer;opacity:.7;filter:alpha(opacity=70)}.gjs-nv-item #gjs-nv-caret:hover{opacity:1;filter:alpha(opacity=100)}.gjs-nv-title{background-color:rgba(0,0,0,0.1);font-size:11px;letter-spacing:1px;padding:3px 10px 5px 30px;border-bottom:1px solid rgba(0,0,0,0.3);border-top:1px solid rgba(255,255,255,0.1);display:flex;align-items:center}.gjs-nv-item .gjs-nv-children .gjs-nv-title{border-left:1px solid rgba(5,5,5,0.3)}.gjs-nv-item>.gjs-nv-children{margin-left:7px;display:none}.gjs-nv-item.open>.gjs-nv-children{display:block}.gjs-nv-item>.gjs-nv-no-chld>#gjs-nv-caret::before{content:''}.gjs-nv-no-chld>#gjs-nv-caret{display:none}.gjs-nv-item>#gjs-nv-move{position:absolute;cursor:move;font-size:12px;right:0;top:0;padding:7px 10px 7px 5px}.gjs-nv-selected .gjs-nv-title{background-color:rgba(255,255,255,0.1)}.gjs-nv-nav-item-edit{visibility:hidden;padding:5px;font-size:10px;opacity:.7;filter:alpha(opacity=70)}.gjs-nv-nav-item-edit:hover{opacity:1;filter:alpha(opacity=100)}.gjs-nv-title-c:hover .gjs-nv-nav-item-edit{visibility:visible;cursor:pointer}.gjs-nav-comp-name{padding:5px;box-sizing:content-box}.btn.expand,.gjs-nv-navigator .gjs-nv-item .expand#gjs-nv-btn-eye{background-image:none}.gjs-comp-image-placeholder{display:block;background-color:#f5f5f5;color:#777;height:50px;width:50px;line-height:50px;outline:3px solid #ffca6f;outline-offset:-3px;text-align:center;font-size:16.66667px;cursor:pointer}.gjs-comp-image-placeholder.fa-picture-o::after{content:"\f03e"}.gjs-label{line-height:18px}.gjs-field{background-color:rgba(0,0,0,0.3);border:1px solid rgba(0,0,0,0.1);box-shadow:1px 1px 0 rgba(255,255,255,0.1);border-radius:2px;box-sizing:border-box;padding:0;position:relative}.gjs-field input,.gjs-field select,.gjs-field textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:rgba(255,255,255,0.7);border:none;background-color:transparent;box-sizing:border-box;width:100%;position:relative;padding:3px 4px 4px;z-index:1}.gjs-field textarea{resize:vertical}.gjs-field select{height:20px;padding-right:12px}.gjs-field option{padding:3px 0}.gjs-field .gjs-sel-arrow{height:100%;width:9px;position:absolute;right:0;top:0;z-index:0}.gjs-field .gjs-d-s-arrow{bottom:7px;border-top:4px solid rgba(255,255,255,0.7);position:absolute;height:0;width:0;border-left:3px solid transparent;border-right:4px solid transparent;cursor:pointer}.gjs-field-color input{padding-right:22px;box-sizing:border-box}.gjs-field-colorp{border-left:1px solid rgba(0,0,0,0.3);box-sizing:border-box;height:100%;padding:2px;position:absolute;right:0;top:0;width:22px;z-index:10}.gjs-field-colorp .gjs-checker-bg,.gjs-field-colorp .gjs-field-colorp-c{height:100%;width:100%;border-radius:1px}.gjs-field-colorp-c{height:100%;position:relative;width:100%}.gjs-field-color-picker{background-color:#ddd;cursor:pointer;height:100%;width:100%;box-shadow:0 0 1px rgba(0,0,0,0.3);border-radius:1px;position:absolute;top:0}.gjs-field-radio{float:left;overflow:hidden;padding:0;width:auto}.gjs-field-checkbox{padding:0;width:auto !important}.gjs-field-checkbox input{display:none}.gjs-field-checkbox input:checked+.gjs-chk-icon{border-color:rgba(255,255,255,0.5);border-width:0 2px 2px 0;border-style:solid}.gjs-radio-item{float:left;border-left:1px solid rgba(0,0,0,0.3)}.gjs-radio-item:first-child{border:none}.gjs-radio-item:hover{background:rgba(0,0,0,0.3)}.gjs-radio-item input{display:none}.gjs-radio-item input:checked+.gjs-radio-item-label{background-color:rgba(255,255,255,0.2)}.gjs-radio-item-label{cursor:pointer;display:block;padding:5px}.gjs-field-units{position:absolute;right:0;top:0}.gjs-field-units select{padding:0 12px 0 0}.gjs-field-unit{position:absolute;right:10px;top:3px;font-size:10px;color:rgba(255,255,255,0.7);cursor:pointer}.gjs-field-arrows{z-index:10;cursor:ns-resize;height:100%;position:absolute;right:0;top:0;width:9px}.gjs-field-arrow-u,.gjs-field-arrow-d{position:absolute;height:0;width:0;border-left:3px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,0.7);bottom:4px;cursor:pointer}.gjs-field-arrow-u{border-bottom:4px solid rgba(255,255,255,0.7);border-top:none;top:4px}.gjs-field-select{padding:0}.gjs-field-range{background-color:transparent;border:none;box-shadow:none;padding:0}.gjs-field-range input{margin:0}.gjs-field-range input::-moz-range-thumb{height:10px;width:10px;border:1px solid rgba(0,0,0,0.3);border-radius:100%;background-color:#ddd;cursor:pointer}.gjs-field-range input::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-5px;height:10px;width:10px;border:1px solid rgba(0,0,0,0.3);border-radius:100%;background-color:#ddd;cursor:pointer}.gjs-field-range input::-ms-thumb{height:10px;width:10px;border:1px solid rgba(0,0,0,0.3);border-radius:100%;background-color:#ddd;cursor:pointer}.gjs-field-range input::-moz-range-track{background-color:rgba(0,0,0,0.3);border:1px solid rgba(0,0,0,0.15);border-radius:1px;height:2px}.gjs-field-range input::-webkit-slider-runnable-track{background-color:rgba(0,0,0,0.3);border:1px solid rgba(0,0,0,0.15);border-radius:1px;height:2px}.gjs-field-range input::-ms-track{background-color:rgba(0,0,0,0.3);border:1px solid rgba(0,0,0,0.15);border-radius:1px;height:2px}.gjs-chk-icon{-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);box-sizing:border-box;display:block;height:14px;margin:0 5px;width:6px;cursor:pointer}.gjs-add-trasp{background:none;border:none;color:#ddd;cursor:pointer;font-size:1em;border-radius:2px;opacity:.75;filter:alpha(opacity=75)}.gjs-add-trasp:hover{opacity:1;filter:alpha(opacity=100)}.gjs-add-trasp:active{background-color:rgba(0,0,0,0.2)}.gjs-devices-c{display:flex;align-items:center;padding:4px}.gjs-devices-c .gjs-device-label{flex-grow:2;font-size:0.7em;text-align:left;margin-right:10px}.gjs-devices-c .gjs-select{flex-grow:20}.gjs-devices-c .gjs-add-trasp{flex-grow:1;margin-left:5px}.gjs-category-open,.gjs-sm-sector.gjs-sm-open,.gjs-sm-open.gjs-clm-tags,.gjs-block-category.gjs-open{border-bottom:1px solid rgba(0,0,0,0.25)}.gjs-category-title,.gjs-sm-sector .gjs-sm-title,.gjs-clm-tags .gjs-sm-title,.gjs-block-category .gjs-title{font-weight:lighter;background-color:rgba(0,0,0,0.1);font-size:13px;letter-spacing:1px;padding:9px 10px 9px 20px;border-bottom:1px solid rgba(0,0,0,0.25);text-align:left;position:relative;cursor:pointer}.gjs-sm-clear{font-size:1rem;line-height:0;cursor:pointer}.gjs-sm-close-btn,.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close,.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close{display:block;font-size:23px;position:absolute;cursor:pointer;right:5px;top:0;opacity:.2;filter:alpha(opacity=20)}.gjs-sm-close-btn:hover,.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close:hover,.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close:hover{opacity:.7;filter:alpha(opacity=70)}.gjs-sm-header{font-size:11px;font-weight:lighter;padding:10px}.gjs-sm-sector,.gjs-clm-tags{clear:both;font-weight:lighter;text-align:left}.gjs-sm-sector #gjs-sm-caret,.gjs-clm-tags #gjs-sm-caret{padding-right:5px;font-size:11px}.gjs-sm-sector .gjs-sm-label,.gjs-clm-tags .gjs-sm-label{margin:5px 5px 2px 0}.gjs-sm-sector .gjs-sm-field,.gjs-clm-tags .gjs-sm-field,.gjs-sm-sector .gjs-clm-field,.gjs-clm-tags .gjs-clm-field{width:100%;position:relative}.gjs-sm-sector .gjs-sm-field input,.gjs-clm-tags .gjs-sm-field input,.gjs-sm-sector .gjs-clm-field input,.gjs-clm-tags .gjs-clm-field input,.gjs-sm-sector .gjs-sm-field select,.gjs-clm-tags .gjs-sm-field select,.gjs-sm-sector .gjs-clm-field select,.gjs-clm-tags .gjs-clm-field select{background-color:transparent;color:rgba(255,255,255,0.7);border:none;width:100%}.gjs-sm-sector .gjs-sm-field input,.gjs-clm-tags .gjs-sm-field input,.gjs-sm-sector .gjs-clm-field input,.gjs-clm-tags .gjs-clm-field input{box-sizing:border-box}.gjs-sm-sector .gjs-sm-field select,.gjs-clm-tags .gjs-sm-field select,.gjs-sm-sector .gjs-clm-field select,.gjs-clm-tags .gjs-clm-field select{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gjs-sm-sector .gjs-sm-field select::-ms-expand,.gjs-clm-tags .gjs-sm-field select::-ms-expand,.gjs-sm-sector .gjs-clm-field select::-ms-expand,.gjs-clm-tags .gjs-clm-field select::-ms-expand{display:none}.gjs-sm-sector .gjs-sm-field select:-moz-focusring,.gjs-clm-tags .gjs-sm-field select:-moz-focusring,.gjs-sm-sector .gjs-clm-field select:-moz-focusring,.gjs-clm-tags .gjs-clm-field select:-moz-focusring{color:transparent;text-shadow:0 0 0 rgba(255,255,255,0.7)}.gjs-sm-sector .gjs-sm-field input:focus,.gjs-clm-tags .gjs-sm-field input:focus,.gjs-sm-sector .gjs-clm-field input:focus,.gjs-clm-tags .gjs-clm-field input:focus,.gjs-sm-sector .gjs-sm-field select:focus,.gjs-clm-tags .gjs-sm-field select:focus,.gjs-sm-sector .gjs-clm-field select:focus,.gjs-clm-tags .gjs-clm-field select:focus{outline:none}.gjs-sm-sector .gjs-sm-field .gjs-sm-unit,.gjs-clm-tags .gjs-sm-field .gjs-sm-unit,.gjs-sm-sector .gjs-clm-field .gjs-sm-unit,.gjs-clm-tags .gjs-clm-field .gjs-sm-unit{position:absolute;right:10px;top:3px;font-size:10px;color:rgba(255,255,255,0.7);cursor:pointer}.gjs-sm-sector .gjs-sm-field .gjs-clm-sel-arrow,.gjs-clm-tags .gjs-sm-field .gjs-clm-sel-arrow,.gjs-sm-sector .gjs-clm-field .gjs-clm-sel-arrow,.gjs-clm-tags .gjs-clm-field .gjs-clm-sel-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-int-arrows,.gjs-clm-tags .gjs-sm-field .gjs-sm-int-arrows,.gjs-sm-sector .gjs-clm-field .gjs-sm-int-arrows,.gjs-clm-tags .gjs-clm-field .gjs-sm-int-arrows,.gjs-sm-sector .gjs-sm-field .gjs-sm-sel-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-sel-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-sel-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-sel-arrow{height:100%;width:9px;position:absolute;right:0;top:0;cursor:ns-resize}.gjs-sm-sector .gjs-sm-field .gjs-sm-sel-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-sel-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-sel-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-sel-arrow{cursor:pointer}.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-u-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-u-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-u-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-u-arrow{position:absolute;height:0;width:0;border-left:3px solid transparent;border-right:4px solid transparent;cursor:pointer}.gjs-sm-sector .gjs-sm-field .gjs-sm-u-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-u-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-u-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-u-arrow{border-bottom:4px solid rgba(255,255,255,0.7);top:4px}.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow{border-top:4px solid rgba(255,255,255,0.7);bottom:4px}.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow{bottom:7px}.gjs-sm-sector .gjs-sm-field.gjs-sm-color,.gjs-clm-tags .gjs-sm-field.gjs-sm-color,.gjs-sm-sector .gjs-sm-color.gjs-clm-field,.gjs-clm-tags .gjs-sm-color.gjs-clm-field,.gjs-sm-sector .gjs-sm-field.gjs-sm-input,.gjs-clm-tags .gjs-sm-field.gjs-sm-input,.gjs-sm-sector .gjs-sm-input.gjs-clm-field,.gjs-clm-tags .gjs-sm-input.gjs-clm-field,.gjs-sm-sector .gjs-sm-field.gjs-sm-integer,.gjs-clm-tags .gjs-sm-field.gjs-sm-integer,.gjs-sm-sector .gjs-sm-integer.gjs-clm-field,.gjs-clm-tags .gjs-sm-integer.gjs-clm-field,.gjs-sm-sector .gjs-sm-field.gjs-sm-list,.gjs-clm-tags .gjs-sm-field.gjs-sm-list,.gjs-sm-sector .gjs-sm-list.gjs-clm-field,.gjs-clm-tags .gjs-sm-list.gjs-clm-field,.gjs-sm-sector .gjs-sm-field.gjs-sm-select,.gjs-clm-tags .gjs-sm-field.gjs-sm-select,.gjs-sm-sector .gjs-sm-select.gjs-clm-field,.gjs-clm-tags .gjs-sm-select.gjs-clm-field,.gjs-sm-sector .gjs-clm-select,.gjs-clm-tags .gjs-clm-select{background-color:rgba(0,0,0,0.3);border:1px solid rgba(0,0,0,0.1);box-shadow:1px 1px 0 rgba(255,255,255,0.1);color:rgba(255,255,255,0.7);border-radius:2px;box-sizing:border-box;padding:0 5px}.gjs-sm-sector .gjs-sm-field.gjs-sm-composite,.gjs-clm-tags .gjs-sm-field.gjs-sm-composite,.gjs-sm-sector .gjs-sm-composite.gjs-clm-field,.gjs-clm-tags .gjs-sm-composite.gjs-clm-field{border-radius:2px}.gjs-sm-sector .gjs-sm-field.gjs-sm-select,.gjs-clm-tags .gjs-sm-field.gjs-sm-select,.gjs-sm-sector .gjs-sm-select.gjs-clm-field,.gjs-clm-tags .gjs-sm-select.gjs-clm-field,.gjs-sm-sector .gjs-clm-select,.gjs-clm-tags .gjs-clm-select{padding:0}.gjs-sm-sector .gjs-sm-field.gjs-sm-select select,.gjs-clm-tags .gjs-sm-field.gjs-sm-select select,.gjs-sm-sector .gjs-sm-select.gjs-clm-field select,.gjs-clm-tags .gjs-sm-select.gjs-clm-field select,.gjs-sm-sector .gjs-clm-select select,.gjs-clm-tags .gjs-clm-select select{height:20px}.gjs-sm-sector .gjs-sm-field.gjs-sm-select option,.gjs-clm-tags .gjs-sm-field.gjs-sm-select option,.gjs-sm-sector .gjs-sm-select.gjs-clm-field option,.gjs-clm-tags .gjs-sm-select.gjs-clm-field option,.gjs-sm-sector .gjs-clm-select option,.gjs-clm-tags .gjs-clm-select option{padding:3px 0}.gjs-sm-sector .gjs-sm-field.gjs-sm-composite,.gjs-clm-tags .gjs-sm-field.gjs-sm-composite,.gjs-sm-sector .gjs-sm-composite.gjs-clm-field,.gjs-clm-tags .gjs-sm-composite.gjs-clm-field{background-color:rgba(0,0,0,0.1);border:1px solid rgba(0,0,0,0.25)}.gjs-sm-sector .gjs-sm-field.gjs-sm-list,.gjs-clm-tags .gjs-sm-field.gjs-sm-list,.gjs-sm-sector .gjs-sm-list.gjs-clm-field,.gjs-clm-tags .gjs-sm-list.gjs-clm-field{width:auto;padding:0;overflow:hidden;float:left}.gjs-sm-sector .gjs-sm-field.gjs-sm-list input,.gjs-clm-tags .gjs-sm-field.gjs-sm-list input,.gjs-sm-sector .gjs-sm-list.gjs-clm-field input,.gjs-clm-tags .gjs-sm-list.gjs-clm-field input{display:none}.gjs-sm-sector .gjs-sm-field.gjs-sm-list label,.gjs-clm-tags .gjs-sm-field.gjs-sm-list label,.gjs-sm-sector .gjs-sm-list.gjs-clm-field label,.gjs-clm-tags .gjs-sm-list.gjs-clm-field label{cursor:pointer;padding:5px;display:block}.gjs-sm-sector .gjs-sm-field.gjs-sm-list .gjs-sm-radio:checked+label,.gjs-clm-tags .gjs-sm-field.gjs-sm-list .gjs-sm-radio:checked+label,.gjs-sm-sector .gjs-sm-list.gjs-clm-field .gjs-sm-radio:checked+label,.gjs-clm-tags .gjs-sm-list.gjs-clm-field .gjs-sm-radio:checked+label{background-color:rgba(255,255,255,0.2)}.gjs-sm-sector .gjs-sm-field.gjs-sm-list .gjs-sm-icon,.gjs-clm-tags .gjs-sm-field.gjs-sm-list .gjs-sm-icon,.gjs-sm-sector .gjs-sm-list.gjs-clm-field .gjs-sm-icon,.gjs-clm-tags .gjs-sm-list.gjs-clm-field .gjs-sm-icon{background-repeat:no-repeat;background-position:center;text-shadow:none;line-height:normal}.gjs-sm-sector .gjs-sm-field.gjs-sm-integer select,.gjs-clm-tags .gjs-sm-field.gjs-sm-integer select,.gjs-sm-sector .gjs-sm-integer.gjs-clm-field select,.gjs-clm-tags .gjs-sm-integer.gjs-clm-field select{width:auto;padding:0}.gjs-sm-sector .gjs-sm-list .gjs-sm-el,.gjs-clm-tags .gjs-sm-list .gjs-sm-el{float:left;border-left:1px solid rgba(0,0,0,0.3)}.gjs-sm-sector .gjs-sm-list .gjs-sm-el:first-child,.gjs-clm-tags .gjs-sm-list .gjs-sm-el:first-child{border:none}.gjs-sm-sector .gjs-sm-list .gjs-sm-el:hover,.gjs-clm-tags .gjs-sm-list .gjs-sm-el:hover{background:rgba(0,0,0,0.3)}.gjs-sm-sector .gjs-sm-properties,.gjs-clm-tags .gjs-sm-properties{font-size:11px;padding:10px 5px}.gjs-sm-sector .gjs-sm-property,.gjs-clm-tags .gjs-sm-property{box-sizing:border-box;float:left;width:50%;margin-bottom:5px;padding:0 5px}.gjs-sm-sector .gjs-sm-property.gjs-sm-composite,.gjs-clm-tags .gjs-sm-property.gjs-sm-composite,.gjs-sm-sector .gjs-sm-property.gjs-sm-file,.gjs-clm-tags .gjs-sm-property.gjs-sm-file,.gjs-sm-sector .gjs-sm-property.gjs-sm-list,.gjs-clm-tags .gjs-sm-property.gjs-sm-list,.gjs-sm-sector .gjs-sm-property.gjs-sm-stack,.gjs-clm-tags .gjs-sm-property.gjs-sm-stack{width:100%}.gjs-sm-sector .gjs-sm-property .gjs-sm-btn,.gjs-clm-tags .gjs-sm-property .gjs-sm-btn{background-color:rgba(33,33,33,0.3);border-radius:2px;box-shadow:1px 1px 0 rgba(5,5,5,0.3),1px 1px 0 rgba(43,43,43,0.3) inset;padding:5px;position:relative;text-align:center;height:auto;width:100%;cursor:pointer;color:#ddd;box-sizing:border-box;text-shadow:-1px -1px 0 rgba(0,0,0,0.3);border:none;opacity:.85;filter:alpha(opacity=85)}.gjs-sm-sector .gjs-sm-property .gjs-sm-btn-c,.gjs-clm-tags .gjs-sm-property .gjs-sm-btn-c{box-sizing:border-box;float:left;width:100%;padding:0 5px}.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box,.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box{background-color:rgba(255,255,255,0.05);border-radius:2px;margin-top:5px;position:relative;overflow:hidden}.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box.gjs-sm-show,.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box.gjs-sm-show{border:1px solid rgba(252,252,252,0.05);padding:3px 5px}.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close,.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close{display:block}.gjs-sm-sector .gjs-sm-property.gjs-sm-file .gjs-sm-show #gjs-sm-preview-file,.gjs-clm-tags .gjs-sm-property.gjs-sm-file .gjs-sm-show #gjs-sm-preview-file{height:50px}.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-file,.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-file{background-size:auto 100%;background-repeat:no-repeat;background-position:center center}.gjs-sm-sector .gjs-sm-property .gjs-sm-layers,.gjs-clm-tags .gjs-sm-property .gjs-sm-layers{margin-top:5px;min-height:30px}.gjs-sm-sector .gjs-sm-property .gjs-sm-layer,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer{background-color:rgba(255,255,255,0.055);border-radius:2px;box-shadow:1px 1px 0 rgba(0,0,0,0.2),1px 1px 0 rgba(255,255,255,0.055) inset;margin:2px;padding:7px;position:relative;cursor:pointer}.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box{height:15px;position:absolute;right:27px;top:6px;width:15px}.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-preview,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-preview,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-preview-box,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-preview-box{border-radius:2px}.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer{display:block;font-size:23px;position:absolute;cursor:pointer;right:5px;top:0;opacity:.5;filter:alpha(opacity=50)}.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer:hover,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer:hover{opacity:.8;filter:alpha(opacity=80)}.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box #gjs-sm-preview,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box #gjs-sm-preview{background-color:white;height:100%;width:100%;background-size:cover !important}.gjs-sm-sector .gjs-sm-property .gjs-sm-layer.gjs-sm-active,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer.gjs-sm-active{background-color:rgba(255,255,255,0.12)}.gjs-sm-sector .gjs-sm-property .gjs-sm-layer.gjs-sm-no-preview #gjs-sm-preview-box,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer.gjs-sm-no-preview #gjs-sm-preview-box{display:none}.gjs-sm-sector #gjs-sm-text-shadow #gjs-sm-preview::after,.gjs-clm-tags #gjs-sm-text-shadow #gjs-sm-preview::after{color:#000;content:"T";font-weight:900;line-height:17px;padding:0 4px}.gjs-sm-sector .gjs-sm-stack .gjs-sm-properties,.gjs-clm-tags .gjs-sm-stack .gjs-sm-properties{padding-top:5px}.gjs-sm-sector .gjs-sm-stack #gjs-sm-add,.gjs-clm-tags .gjs-sm-stack #gjs-sm-add{background:none;border:none;cursor:pointer;font-size:22px;line-height:10px;position:absolute;right:0;top:-20px;opacity:0.75}.gjs-sm-sector .gjs-sm-stack #gjs-sm-add:hover,.gjs-clm-tags .gjs-sm-stack #gjs-sm-add:hover{opacity:1;filter:alpha(opacity=100)}.gjs-sm-sector .gjs-sm-colorp-c,.gjs-clm-tags .gjs-sm-colorp-c{height:100%;width:20px;position:absolute;right:0;top:0;box-sizing:border-box;border-radius:2px;padding:2px}.gjs-sm-sector .gjs-sm-colorp-c .gjs-checker-bg,.gjs-clm-tags .gjs-sm-colorp-c .gjs-checker-bg,.gjs-sm-sector .gjs-sm-colorp-c .gjs-field-colorp-c,.gjs-clm-tags .gjs-sm-colorp-c .gjs-field-colorp-c{height:100%;width:100%;border-radius:1px}.gjs-sm-sector .gjs-sm-color-picker,.gjs-clm-tags .gjs-sm-color-picker{background-color:#ddd;cursor:pointer;height:16px;width:100%;margin-top:-16px;box-shadow:0 0 1px rgba(0,0,0,0.3);border-radius:1px}.gjs-sm-sector .gjs-sm-btn-upload #gjs-sm-upload,.gjs-clm-tags .gjs-sm-btn-upload #gjs-sm-upload{left:0;top:0;position:absolute;width:100%;opacity:0;cursor:pointer}.gjs-sm-sector .gjs-sm-btn-upload #gjs-sm-label,.gjs-clm-tags .gjs-sm-btn-upload #gjs-sm-label{padding:2px 0}.gjs-sm-layer>#gjs-sm-move{opacity:.7;filter:alpha(opacity=70);cursor:move;font-size:12px;float:left;margin:0 5px 0 0}.gjs-sm-layer>#gjs-sm-move:hover{opacity:.9;filter:alpha(opacity=90)}.gjs-blocks-c{display:flex;flex-wrap:wrap;justify-content:flex-start}.gjs-block-category{width:100%}.gjs-block-category .gjs-caret-icon{margin-right:5px}.gjs-block{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;width:45%;padding:1em;box-sizing:border-box;height:90px;cursor:all-scroll;font-size:11px;font-weight:lighter;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(0,0,0,0.2);border-radius:3px;margin:10px 2.5% 5px;box-shadow:0 1px 0 0 rgba(0,0,0,0.15);transition:all 0.2s ease 0s;transition-property:box-shadow, color}.gjs-block:hover{box-shadow:0 3px 4px 0 rgba(0,0,0,0.15)}.gjs-block-svg{width:61%}.gjs-block.fa{font-size:2em;line-height:2em;padding:11px}.gjs-block-label{line-height:normal;font-size:0.65rem;font-weight:normal;font-family:Helvetica, sans-serif}.gjs-block.gjs-bdrag{width:auto;padding:0}.gjs-clm-tags{font-size:11px;padding:10px 5px}.gjs-clm-tags #gjs-clm-label,.gjs-clm-tags #gjs-clm-sel{padding:7px 0;float:left}.gjs-clm-tags #gjs-clm-sel{font-style:italic;margin-left:5px}.gjs-clm-tags #gjs-clm-status-c{float:right}.gjs-clm-tags #gjs-clm-tags-field{clear:both;padding:5px;margin-bottom:5px}.gjs-clm-tags #gjs-clm-tags-c{display:inline-block;vertical-align:top}.gjs-clm-tags #gjs-clm-add-tag{background-color:rgba(255,255,255,0.15);border-radius:2px;padding:5px 6px;box-shadow:1px 1px 0 rgba(255,255,255,0.2) inset;border:1px solid rgba(0,0,0,0.15);cursor:pointer}.gjs-clm-tags #gjs-clm-new{color:#ddd;padding:5px 6px;display:none}.gjs-clm-tags .gjs-clm-tag{background-color:#804f7b;border:1px solid #5a3857;box-shadow:1px 1px #9c6196 inset;text-shadow:1px 1px #6a4166;display:inline-block;border-radius:3px;margin:0 3px 3px 0;padding:4px;cursor:default}.gjs-clm-tags #gjs-clm-close{font-size:20px;line-height:0;cursor:pointer;color:rgba(255,255,255,0.9)}.gjs-clm-tags #gjs-clm-close:hover{opacity:.7;filter:alpha(opacity=70)}.gjs-clm-tags #gjs-clm-checkbox{color:rgba(255,255,255,0.9);vertical-align:middle;cursor:pointer;font-size:9px}.gjs-clm-tags #gjs-clm-tag-label{cursor:text}.gjs-clm-tags #gjs-clm-tag-label input{width:auto;padding:0 4px}.gjs-mdl-backlayer{background-color:#000;position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;opacity:.5;filter:alpha(opacity=50)}.gjs-mdl-container{font-family:Helvetica,sans-serif;position:absolute;top:0;left:0;z-index:10;width:100%;height:100%}.gjs-mdl-dialog{text-shadow:-1px -1px 0 rgba(0,0,0,0.05);animation:gjs-slide-down 0.215s;margin:30px auto 0;max-width:850px;width:90%;border-radius:3px;font-weight:lighter;position:relative;z-index:2}.gjs-mdl-dialog .gjs-mdl-btn-close{position:absolute;right:15px;top:5px}.gjs-mdl-active .gjs-mdl-dialog{animation:gjs-mdl-slide-down 0.216s}.gjs-mdl-header,.gjs-mdl-content{padding:10px 15px;clear:both}.gjs-mdl-header{position:relative;border-bottom:1px solid rgba(0,0,0,0.3);padding:15px 15px 7px}.gjs-mdl-content{border-top:1px solid rgba(255,255,255,0.1)}.gjs-export-dl::after{content:"";clear:both;display:block;margin-bottom:10px}.gjs-am-assets{height:290px;overflow:auto;clear:both}.gjs-am-assets-header{padding:5px}.gjs-am-add-asset .gjs-am-add-field{width:70%;float:left}.gjs-am-add-asset button{width:25%;float:right}.gjs-am-add-field input{padding:6px}.gjs-am-assets-cont{background-color:rgba(0,0,0,0.1);border-radius:3px;box-sizing:border-box;padding:10px;width:45%;float:right;height:325px;overflow:hidden}.gjs-am-assets-cont #gjs-am-preview-cont{position:relative;height:70px;width:30%;background-color:#444;border-radius:2px;float:left;overflow:hidden}.gjs-am-assets-cont #gjs-am-preview{position:absolute;background-position:center center;background-size:cover;background-repeat:no-repeat;height:100%;width:100%;z-index:1}.gjs-am-assets-cont #gjs-am-preview-bg{position:absolute;height:100%;width:100%;opacity:.5;filter:alpha(opacity=50);z-index:0}.gjs-am-assets-cont .gjs-am-highlight{background-color:rgba(255,255,255,0.1)}.gjs-am-assets-cont .gjs-am-asset{border-bottom:1px solid rgba(0,0,0,0.3);padding:5px;cursor:pointer;position:relative}.gjs-am-assets-cont .gjs-am-asset:hover #gjs-am-close{display:block}.gjs-am-assets-cont #gjs-am-close{position:absolute;right:5px;top:0;display:none}.gjs-am-assets-cont #gjs-am-meta{width:70%;float:left;font-size:12px;padding:5px 0 0 5px;box-sizing:border-box}.gjs-am-assets-cont #gjs-am-meta>div{margin-bottom:5px}.gjs-am-assets-cont #gjs-am-meta #gjs-am-dimensions{font-size:10px;opacity:.5;filter:alpha(opacity=50)}.gjs-am-file-uploader{width:55%;float:left}.gjs-am-file-uploader>form{background-color:rgba(0,0,0,0.1);border:2px dashed;border-radius:3px;position:relative;text-align:center;margin-bottom:15px}.gjs-am-file-uploader>form.gjs-am-hover{border:2px solid #62c462;color:#75cb75}.gjs-am-file-uploader>form.gjs-am-disabled{border-color:red}.gjs-am-file-uploader>form #gjs-am-uploadFile{opacity:0;filter:alpha(opacity=0);padding:150px 10px;width:100%;box-sizing:border-box}.gjs-am-file-uploader #gjs-am-title{position:absolute;padding:150px 10px;width:100%}.gjs-cm-editor-c{float:left;box-sizing:border-box;width:50%}.gjs-cm-editor-c .CodeMirror{height:450px}.gjs-cm-editor{font-size:12px}.gjs-cm-editor#gjs-cm-htmlmixed{padding-right:10px;border-right:1px solid rgba(0,0,0,0.3)}.gjs-cm-editor#gjs-cm-htmlmixed #gjs-cm-title{color:#a97d44}.gjs-cm-editor#gjs-cm-css{padding-left:10px;border-left:1px solid rgba(255,255,255,0.1)}.gjs-cm-editor#gjs-cm-css #gjs-cm-title{color:#ddca7e}.gjs-cm-editor #gjs-cm-title{background-color:rgba(0,0,0,0.3);font-size:12px;padding:5px 10px 3px;text-align:right}#gjs-rte-toolbar{display:none;border:1px solid rgba(0,0,0,0.3);position:absolute;border-radius:3px;z-index:10}#gjs-rte-toolbar .gjs-rte-btn{display:inline-block;padding:5px;min-width:25px;border-right:1px solid rgba(0,0,0,0.3);text-align:center;cursor:pointer;outline:none}#gjs-rte-toolbar .gjs-rte-btn:last-child{border-right:none}#gjs-rte-toolbar .gjs-rte-btn.btn-info{background-color:rgba(0,0,0,0.3)}#gjs-rte-toolbar .gjs-rte-btn:hover{background-color:rgba(255,255,255,0.1)}#gjs-rte-toolbar select{height:16px}.sp-hue,.sp-slider{cursor:row-resize}.sp-color,.sp-dragger{cursor:crosshair}.sp-alpha-inner,.sp-alpha-handle{cursor:col-resize}.sp-hue{left:90%}.sp-color{right:15%}.sp-container{border:1px solid rgba(0,0,0,0.3);box-shadow:0 0 7px rgba(0,0,0,0.3);border-radius:3px}.sp-picker-container{border:none}.colpick_dark .colpick_color{outline:1px solid rgba(0,0,0,0.3)}.sp-cancel,.sp-cancel:hover{bottom:-8px;color:#777 !important;font-size:25px;left:0;position:absolute;text-decoration:none}.sp-alpha-handle{background-color:#ccc;border:1px solid #555;width:4px}.sp-color,.sp-hue{border:1px solid #333333}.sp-slider{background-color:#ccc;border:1px solid #555;height:3px;left:-4px;width:22px}.sp-dragger{background:transparent;box-shadow:0 0 0 1px #111}.sp-button-container{float:none;width:100%;position:relative;text-align:right}.sp-container button,.sp-container button:hover,.sp-container button:active{background:rgba(0,0,0,0.3);border-color:rgba(0,0,0,0.3);color:#ddd;text-shadow:none;box-shadow:none;padding:3px 5px}.sp-palette-container{border:none;float:none;margin:0;padding:5px 10px 0}.sp-palette .sp-thumb-el,.sp-palette .sp-thumb-el:hover{border:1px solid rgba(0,0,0,0.9)}.sp-palette .sp-thumb-el:hover,.sp-palette .sp-thumb-el.sp-thumb-active{border-color:rgba(0,0,0,0.9)}.gjs-hidden{display:none}@keyframes gjs-slide-down{0%{transform:translate(0, -3rem);opacity:0}100%{transform:translate(0, 0);opacity:1}}@keyframes gjs-slide-up{0%{transform:translate(0, 0);opacity:1}100%{transform:translate(0, -3rem);opacity:0}} diff --git a/client/static/css/select2.min.css b/client/static/css/select2.min.css deleted file mode 100644 index 76de04d..0000000 --- a/client/static/css/select2.min.css +++ /dev/null @@ -1 +0,0 @@ -.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/client/static/grapes.min.css b/client/static/grapes.min.css deleted file mode 100644 index 9529e82..0000000 --- a/client/static/grapes.min.css +++ /dev/null @@ -1,6675 +0,0 @@ -.sp-container { - position: absolute; - top: 0; - left: 0; - display: inline-block; - *display: inline; - *zoom: 1; - z-index: 9999994; - overflow: hidden -} - -.sp-container.sp-flat { - position: relative -} - -.sp-container, -.sp-container * { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box -} - -.sp-top { - position: relative; - width: 100%; - display: inline-block -} - -.sp-top-inner { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0 -} - -.sp-color { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 20% -} - -.sp-hue { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 84%; - height: 100% -} - -.sp-clear-enabled .sp-hue { - top: 33px; - height: 77.5% -} - -.sp-fill { - padding-top: 80% -} - -.sp-sat, -.sp-val { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0 -} - -.sp-alpha-enabled .sp-top { - margin-bottom: 18px -} - -.sp-alpha-enabled .sp-alpha { - display: block -} - -.sp-alpha-handle { - position: absolute; - top: -4px; - bottom: -4px; - width: 6px; - left: 50%; - cursor: pointer; - border: 1px solid black; - background: white; - opacity: .8 -} - -.sp-alpha { - display: none; - position: absolute; - bottom: -14px; - right: 0; - left: 0; - height: 8px -} - -.sp-alpha-inner { - border: solid 1px #333 -} - -.sp-clear { - display: none -} - -.sp-clear.sp-clear-display { - background-position: center -} - -.sp-clear-enabled .sp-clear { - display: block; - position: absolute; - top: 0px; - right: 0; - bottom: 0; - left: 84%; - height: 28px -} - -.sp-container, -.sp-replacer, -.sp-preview, -.sp-dragger, -.sp-slider, -.sp-alpha, -.sp-clear, -.sp-alpha-handle, -.sp-container.sp-dragging .sp-input, -.sp-container button { - -webkit-user-select: none; - -moz-user-select: -moz-none; - -o-user-select: none; - user-select: none -} - -.sp-container.sp-input-disabled .sp-input-container { - display: none -} - -.sp-container.sp-buttons-disabled .sp-button-container { - display: none -} - -.sp-container.sp-palette-buttons-disabled .sp-palette-button-container { - display: none -} - -.sp-palette-only .sp-picker-container { - display: none -} - -.sp-palette-disabled .sp-palette-container { - display: none -} - -.sp-initial-disabled .sp-initial { - display: none -} - -.sp-sat { - background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#fff), to(rgba(204, 154, 129, 0))); - background-image: -webkit-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); - background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); - background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); - background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); - background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)"; - filter: progid: DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81') -} - -.sp-val { - background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000), to(rgba(204, 154, 129, 0))); - background-image: -webkit-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); - background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); - background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); - background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); - background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)"; - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000') -} - -.sp-hue { - background: -moz-linear-gradient(top, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%); - background: -ms-linear-gradient(top, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%); - background: -o-linear-gradient(top, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%); - background: -webkit-gradient(linear, left top, left bottom, from(red), color-stop(0.17, #ff0), color-stop(0.33, lime), color-stop(0.5, cyan), color-stop(0.67, blue), color-stop(0.83, #f0f), to(red)); - background: -webkit-linear-gradient(top, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%); - background: linear-gradient(to bottom, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 67%, #f0f 83%, red 100%) -} - -.sp-1 { - height: 17%; - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00') -} - -.sp-2 { - height: 16%; - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00') -} - -.sp-3 { - height: 17%; - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff') -} - -.sp-4 { - height: 17%; - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff') -} - -.sp-5 { - height: 16%; - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff') -} - -.sp-6 { - height: 17%; - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000') -} - -.sp-hidden { - display: none !important -} - -.sp-cf:before, -.sp-cf:after { - content: ""; - display: table -} - -.sp-cf:after { - clear: both -} - -.sp-cf { - *zoom: 1 -} - -@media (max-device-width: 480px) { - .sp-color { - right: 40% - } - .sp-hue { - left: 63% - } - .sp-fill { - padding-top: 60% - } -} - -.sp-dragger { - border-radius: 5px; - height: 5px; - width: 5px; - border: 1px solid #fff; - background: #000; - cursor: pointer; - position: absolute; - top: 0; - left: 0 -} - -.sp-slider { - position: absolute; - top: 0; - cursor: pointer; - height: 3px; - left: -1px; - right: -1px; - border: 1px solid #000; - background: white; - opacity: .8 -} - -.sp-container { - border-radius: 0; - background-color: #ECECEC; - border: solid 1px #f0c49B; - padding: 0 -} - -.sp-container, -.sp-container button, -.sp-container input, -.sp-color, -.sp-hue, -.sp-clear { - font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box -} - -.sp-top { - margin-bottom: 3px -} - -.sp-color, -.sp-hue, -.sp-clear { - border: solid 1px #666 -} - -.sp-input-container { - float: right; - width: 100px; - margin-bottom: 4px -} - -.sp-initial-disabled .sp-input-container { - width: 100% -} - -.sp-input { - font-size: 12px !important; - border: 1px inset; - padding: 4px 5px; - margin: 0; - width: 100%; - background: transparent; - border-radius: 3px; - color: #222 -} - -.sp-input:focus { - border: 1px solid orange -} - -.sp-input.sp-validation-error { - border: 1px solid red; - background: #fdd -} - -.sp-picker-container, -.sp-palette-container { - float: left; - position: relative; - padding: 10px; - padding-bottom: 300px; - margin-bottom: -290px -} - -.sp-picker-container { - width: 172px; - border-left: solid 1px #fff -} - -.sp-palette-container { - border-right: solid 1px #ccc -} - -.sp-palette-only .sp-palette-container { - border: 0 -} - -.sp-palette .sp-thumb-el { - display: block; - position: relative; - float: left; - width: 24px; - height: 15px; - margin: 3px; - cursor: pointer; - border: solid 2px transparent -} - -.sp-palette .sp-thumb-el:hover, -.sp-palette .sp-thumb-el.sp-thumb-active { - border-color: orange -} - -.sp-thumb-el { - position: relative -} - -.sp-initial { - float: left; - border: solid 1px #333 -} - -.sp-initial span { - width: 30px; - height: 25px; - border: none; - display: block; - float: left; - margin: 0 -} - -.sp-initial .sp-clear-display { - background-position: center -} - -.sp-palette-button-container, -.sp-button-container { - float: right -} - -.sp-replacer { - margin: 0; - overflow: hidden; - cursor: pointer; - padding: 4px; - display: inline-block; - *zoom: 1; - *display: inline; - border: solid 1px #91765d; - background: #eee; - color: #333; - vertical-align: middle -} - -.sp-replacer:hover, -.sp-replacer.sp-active { - border-color: #F0C49B; - color: #111 -} - -.sp-replacer.sp-disabled { - cursor: default; - border-color: silver; - color: silver -} - -.sp-dd { - padding: 2px 0; - height: 16px; - line-height: 16px; - float: left; - font-size: 10px -} - -.sp-preview { - position: relative; - width: 25px; - height: 20px; - border: solid 1px #222; - margin-right: 5px; - float: left; - z-index: 0 -} - -.sp-palette { - *width: 220px; - max-width: 220px -} - -.sp-palette .sp-thumb-el { - width: 16px; - height: 16px; - margin: 2px 1px; - border: solid 1px #d0d0d0 -} - -.sp-container { - padding-bottom: 0 -} - -.sp-container button { - background-color: #eeeeee; - background-image: -webkit-linear-gradient(top, #eee, #ccc); - background-image: -moz-linear-gradient(top, #eee, #ccc); - background-image: -ms-linear-gradient(top, #eee, #ccc); - background-image: -o-linear-gradient(top, #eee, #ccc); - background-image: linear-gradient(to bottom, #eee, #ccc); - border: 1px solid #ccc; - border-bottom: 1px solid #bbb; - border-radius: 3px; - color: #333; - font-size: 14px; - line-height: 1; - padding: 5px 4px; - text-align: center; - text-shadow: 0 1px 0 #eee; - vertical-align: middle -} - -.sp-container button:hover { - background-color: #dddddd; - background-image: -webkit-linear-gradient(top, #ddd, #bbb); - background-image: -moz-linear-gradient(top, #ddd, #bbb); - background-image: -ms-linear-gradient(top, #ddd, #bbb); - background-image: -o-linear-gradient(top, #ddd, #bbb); - background-image: linear-gradient(to bottom, #ddd, #bbb); - border: 1px solid #bbb; - border-bottom: 1px solid #999; - cursor: pointer; - text-shadow: 0 1px 0 #ddd -} - -.sp-container button:active { - border: 1px solid #aaa; - border-bottom: 1px solid #888; - -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; - -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; - -ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; - -o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; - box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee -} - -.sp-cancel { - font-size: 11px; - color: #d93f3f !important; - margin: 0; - padding: 2px; - margin-right: 5px; - vertical-align: middle; - text-decoration: none -} - -.sp-cancel:hover { - color: #d93f3f !important; - text-decoration: underline -} - -.sp-palette span:hover, -.sp-palette span.sp-thumb-active { - border-color: #000 -} - -.sp-preview, -.sp-alpha, -.sp-thumb-el { - position: relative; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) -} - -.sp-preview-inner, -.sp-alpha-inner, -.sp-thumb-inner { - display: block; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0 -} - -.sp-palette .sp-thumb-inner { - background-position: 50% 50%; - background-repeat: no-repeat -} - -.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=) -} - -.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=) -} - -.sp-clear-display { - background-repeat: no-repeat; - background-position: center; - background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==) -} - - -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ - -@font-face { - font-family: 'FontAwesome'; - src: url("../fonts/fontawesome-webfont.eot?v=4.7.0"); - src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg"); - font-weight: normal; - font-style: normal -} - -.fa { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale -} - -.fa-lg { - font-size: 1.33333em; - line-height: .75em; - vertical-align: -15% -} - -.fa-2x { - font-size: 2em -} - -.fa-3x { - font-size: 3em -} - -.fa-4x { - font-size: 4em -} - -.fa-5x { - font-size: 5em -} - -.fa-fw { - width: 1.28571em; - text-align: center -} - -.fa-ul { - padding-left: 0; - margin-left: 2.14286em; - list-style-type: none -} - -.fa-ul>li { - position: relative -} - -.fa-li { - position: absolute; - left: -2.14286em; - width: 2.14286em; - top: .14286em; - text-align: center -} - -.fa-li.fa-lg { - left: -1.85714em -} - -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eee; - border-radius: .1em -} - -.fa-pull-left { - float: left -} - -.fa-pull-right { - float: right -} - -.fa.fa-pull-left { - margin-right: .3em -} - -.fa.fa-pull-right { - margin-left: .3em -} - -.pull-right { - float: right -} - -.pull-left { - float: left -} - -.fa.pull-left { - margin-right: .3em -} - -.fa.pull-right { - margin-left: .3em -} - -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear -} - -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8) -} - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg) - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg) - } -} - -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg) - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg) - } -} - -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg) -} - -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg) -} - -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg) -} - -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1) -} - -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1) -} - -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none -} - -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle -} - -.fa-stack-1x, -.fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center -} - -.fa-stack-1x { - line-height: inherit -} - -.fa-stack-2x { - font-size: 2em -} - -.fa-inverse { - color: #fff -} - -.fa-glass:before { - content: "" -} - -.fa-music:before { - content: "" -} - -.fa-search:before { - content: "" -} - -.fa-envelope-o:before { - content: "" -} - -.fa-heart:before { - content: "" -} - -.fa-star:before { - content: "" -} - -.fa-star-o:before { - content: "" -} - -.fa-user:before { - content: "" -} - -.fa-film:before { - content: "" -} - -.fa-th-large:before { - content: "" -} - -.fa-th:before { - content: "" -} - -.fa-th-list:before { - content: "" -} - -.fa-check:before { - content: "" -} - -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: "" -} - -.fa-search-plus:before { - content: "" -} - -.fa-search-minus:before { - content: "" -} - -.fa-power-off:before { - content: "" -} - -.fa-signal:before { - content: "" -} - -.fa-gear:before, -.fa-cog:before { - content: "" -} - -.fa-trash-o:before { - content: "" -} - -.fa-home:before { - content: "" -} - -.fa-file-o:before { - content: "" -} - -.fa-clock-o:before { - content: "" -} - -.fa-road:before { - content: "" -} - -.fa-download:before { - content: "" -} - -.fa-arrow-circle-o-down:before { - content: "" -} - -.fa-arrow-circle-o-up:before { - content: "" -} - -.fa-inbox:before { - content: "" -} - -.fa-play-circle-o:before { - content: "" -} - -.fa-rotate-right:before, -.fa-repeat:before { - content: "" -} - -.fa-refresh:before { - content: "" -} - -.fa-list-alt:before { - content: "" -} - -.fa-lock:before { - content: "" -} - -.fa-flag:before { - content: "" -} - -.fa-headphones:before { - content: "" -} - -.fa-volume-off:before { - content: "" -} - -.fa-volume-down:before { - content: "" -} - -.fa-volume-up:before { - content: "" -} - -.fa-qrcode:before { - content: "" -} - -.fa-barcode:before { - content: "" -} - -.fa-tag:before { - content: "" -} - -.fa-tags:before { - content: "" -} - -.fa-book:before { - content: "" -} - -.fa-bookmark:before { - content: "" -} - -.fa-print:before { - content: "" -} - -.fa-camera:before { - content: "" -} - -.fa-font:before { - content: "" -} - -.fa-bold:before { - content: "" -} - -.fa-italic:before { - content: "" -} - -.fa-text-height:before { - content: "" -} - -.fa-text-width:before { - content: "" -} - -.fa-align-left:before { - content: "" -} - -.fa-align-center:before { - content: "" -} - -.fa-align-right:before { - content: "" -} - -.fa-align-justify:before { - content: "" -} - -.fa-list:before { - content: "" -} - -.fa-dedent:before, -.fa-outdent:before { - content: "" -} - -.fa-indent:before { - content: "" -} - -.fa-video-camera:before { - content: "" -} - -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: "" -} - -.fa-pencil:before { - content: "" -} - -.fa-map-marker:before { - content: "" -} - -.fa-adjust:before { - content: "" -} - -.fa-tint:before { - content: "" -} - -.fa-edit:before, -.fa-pencil-square-o:before { - content: "" -} - -.fa-share-square-o:before { - content: "" -} - -.fa-check-square-o:before { - content: "" -} - -.fa-arrows:before { - content: "" -} - -.fa-step-backward:before { - content: "" -} - -.fa-fast-backward:before { - content: "" -} - -.fa-backward:before { - content: "" -} - -.fa-play:before { - content: "" -} - -.fa-pause:before { - content: "" -} - -.fa-stop:before { - content: "" -} - -.fa-forward:before { - content: "" -} - -.fa-fast-forward:before { - content: "" -} - -.fa-step-forward:before { - content: "" -} - -.fa-eject:before { - content: "" -} - -.fa-chevron-left:before { - content: "" -} - -.fa-chevron-right:before { - content: "" -} - -.fa-plus-circle:before { - content: "" -} - -.fa-minus-circle:before { - content: "" -} - -.fa-times-circle:before { - content: "" -} - -.fa-check-circle:before { - content: "" -} - -.fa-question-circle:before { - content: "" -} - -.fa-info-circle:before { - content: "" -} - -.fa-crosshairs:before { - content: "" -} - -.fa-times-circle-o:before { - content: "" -} - -.fa-check-circle-o:before { - content: "" -} - -.fa-ban:before { - content: "" -} - -.fa-arrow-left:before { - content: "" -} - -.fa-arrow-right:before { - content: "" -} - -.fa-arrow-up:before { - content: "" -} - -.fa-arrow-down:before { - content: "" -} - -.fa-mail-forward:before, -.fa-share:before { - content: "" -} - -.fa-expand:before { - content: "" -} - -.fa-compress:before { - content: "" -} - -.fa-plus:before { - content: "" -} - -.fa-minus:before { - content: "" -} - -.fa-asterisk:before { - content: "" -} - -.fa-exclamation-circle:before { - content: "" -} - -.fa-gift:before { - content: "" -} - -.fa-leaf:before { - content: "" -} - -.fa-fire:before { - content: "" -} - -.fa-eye:before { - content: "" -} - -.fa-eye-slash:before { - content: "" -} - -.fa-warning:before, -.fa-exclamation-triangle:before { - content: "" -} - -.fa-plane:before { - content: "" -} - -.fa-calendar:before { - content: "" -} - -.fa-random:before { - content: "" -} - -.fa-comment:before { - content: "" -} - -.fa-magnet:before { - content: "" -} - -.fa-chevron-up:before { - content: "" -} - -.fa-chevron-down:before { - content: "" -} - -.fa-retweet:before { - content: "" -} - -.fa-shopping-cart:before { - content: "" -} - -.fa-folder:before { - content: "" -} - -.fa-folder-open:before { - content: "" -} - -.fa-arrows-v:before { - content: "" -} - -.fa-arrows-h:before { - content: "" -} - -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: "" -} - -.fa-twitter-square:before { - content: "" -} - -.fa-facebook-square:before { - content: "" -} - -.fa-camera-retro:before { - content: "" -} - -.fa-key:before { - content: "" -} - -.fa-gears:before, -.fa-cogs:before { - content: "" -} - -.fa-comments:before { - content: "" -} - -.fa-thumbs-o-up:before { - content: "" -} - -.fa-thumbs-o-down:before { - content: "" -} - -.fa-star-half:before { - content: "" -} - -.fa-heart-o:before { - content: "" -} - -.fa-sign-out:before { - content: "" -} - -.fa-linkedin-square:before { - content: "" -} - -.fa-thumb-tack:before { - content: "" -} - -.fa-external-link:before { - content: "" -} - -.fa-sign-in:before { - content: "" -} - -.fa-trophy:before { - content: "" -} - -.fa-github-square:before { - content: "" -} - -.fa-upload:before { - content: "" -} - -.fa-lemon-o:before { - content: "" -} - -.fa-phone:before { - content: "" -} - -.fa-square-o:before { - content: "" -} - -.fa-bookmark-o:before { - content: "" -} - -.fa-phone-square:before { - content: "" -} - -.fa-twitter:before { - content: "" -} - -.fa-facebook-f:before, -.fa-facebook:before { - content: "" -} - -.fa-github:before { - content: "" -} - -.fa-unlock:before { - content: "" -} - -.fa-credit-card:before { - content: "" -} - -.fa-feed:before, -.fa-rss:before { - content: "" -} - -.fa-hdd-o:before { - content: "" -} - -.fa-bullhorn:before { - content: "" -} - -.fa-bell:before { - content: "" -} - -.fa-certificate:before { - content: "" -} - -.fa-hand-o-right:before { - content: "" -} - -.fa-hand-o-left:before { - content: "" -} - -.fa-hand-o-up:before { - content: "" -} - -.fa-hand-o-down:before { - content: "" -} - -.fa-arrow-circle-left:before { - content: "" -} - -.fa-arrow-circle-right:before { - content: "" -} - -.fa-arrow-circle-up:before { - content: "" -} - -.fa-arrow-circle-down:before { - content: "" -} - -.fa-globe:before { - content: "" -} - -.fa-wrench:before { - content: "" -} - -.fa-tasks:before { - content: "" -} - -.fa-filter:before { - content: "" -} - -.fa-briefcase:before { - content: "" -} - -.fa-arrows-alt:before { - content: "" -} - -.fa-group:before, -.fa-users:before { - content: "" -} - -.fa-chain:before, -.fa-link:before { - content: "" -} - -.fa-cloud:before { - content: "" -} - -.fa-flask:before { - content: "" -} - -.fa-cut:before, -.fa-scissors:before { - content: "" -} - -.fa-copy:before, -.fa-files-o:before { - content: "" -} - -.fa-paperclip:before { - content: "" -} - -.fa-save:before, -.fa-floppy-o:before { - content: "" -} - -.fa-square:before { - content: "" -} - -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: "" -} - -.fa-list-ul:before { - content: "" -} - -.fa-list-ol:before { - content: "" -} - -.fa-strikethrough:before { - content: "" -} - -.fa-underline:before { - content: "" -} - -.fa-table:before { - content: "" -} - -.fa-magic:before { - content: "" -} - -.fa-truck:before { - content: "" -} - -.fa-pinterest:before { - content: "" -} - -.fa-pinterest-square:before { - content: "" -} - -.fa-google-plus-square:before { - content: "" -} - -.fa-google-plus:before { - content: "" -} - -.fa-money:before { - content: "" -} - -.fa-caret-down:before { - content: "" -} - -.fa-caret-up:before { - content: "" -} - -.fa-caret-left:before { - content: "" -} - -.fa-caret-right:before { - content: "" -} - -.fa-columns:before { - content: "" -} - -.fa-unsorted:before, -.fa-sort:before { - content: "" -} - -.fa-sort-down:before, -.fa-sort-desc:before { - content: "" -} - -.fa-sort-up:before, -.fa-sort-asc:before { - content: "" -} - -.fa-envelope:before { - content: "" -} - -.fa-linkedin:before { - content: "" -} - -.fa-rotate-left:before, -.fa-undo:before { - content: "" -} - -.fa-legal:before, -.fa-gavel:before { - content: "" -} - -.fa-dashboard:before, -.fa-tachometer:before { - content: "" -} - -.fa-comment-o:before { - content: "" -} - -.fa-comments-o:before { - content: "" -} - -.fa-flash:before, -.fa-bolt:before { - content: "" -} - -.fa-sitemap:before { - content: "" -} - -.fa-umbrella:before { - content: "" -} - -.fa-paste:before, -.fa-clipboard:before { - content: "" -} - -.fa-lightbulb-o:before { - content: "" -} - -.fa-exchange:before { - content: "" -} - -.fa-cloud-download:before { - content: "" -} - -.fa-cloud-upload:before { - content: "" -} - -.fa-user-md:before { - content: "" -} - -.fa-stethoscope:before { - content: "" -} - -.fa-suitcase:before { - content: "" -} - -.fa-bell-o:before { - content: "" -} - -.fa-coffee:before { - content: "" -} - -.fa-cutlery:before { - content: "" -} - -.fa-file-text-o:before { - content: "" -} - -.fa-building-o:before { - content: "" -} - -.fa-hospital-o:before { - content: "" -} - -.fa-ambulance:before { - content: "" -} - -.fa-medkit:before { - content: "" -} - -.fa-fighter-jet:before { - content: "" -} - -.fa-beer:before { - content: "" -} - -.fa-h-square:before { - content: "" -} - -.fa-plus-square:before { - content: "" -} - -.fa-angle-double-left:before { - content: "" -} - -.fa-angle-double-right:before { - content: "" -} - -.fa-angle-double-up:before { - content: "" -} - -.fa-angle-double-down:before { - content: "" -} - -.fa-angle-left:before { - content: "" -} - -.fa-angle-right:before { - content: "" -} - -.fa-angle-up:before { - content: "" -} - -.fa-angle-down:before { - content: "" -} - -.fa-desktop:before { - content: "" -} - -.fa-laptop:before { - content: "" -} - -.fa-tablet:before { - content: "" -} - -.fa-mobile-phone:before, -.fa-mobile:before { - content: "" -} - -.fa-circle-o:before { - content: "" -} - -.fa-quote-left:before { - content: "" -} - -.fa-quote-right:before { - content: "" -} - -.fa-spinner:before { - content: "" -} - -.fa-circle:before { - content: "" -} - -.fa-mail-reply:before, -.fa-reply:before { - content: "" -} - -.fa-github-alt:before { - content: "" -} - -.fa-folder-o:before { - content: "" -} - -.fa-folder-open-o:before { - content: "" -} - -.fa-smile-o:before { - content: "" -} - -.fa-frown-o:before { - content: "" -} - -.fa-meh-o:before { - content: "" -} - -.fa-gamepad:before { - content: "" -} - -.fa-keyboard-o:before { - content: "" -} - -.fa-flag-o:before { - content: "" -} - -.fa-flag-checkered:before { - content: "" -} - -.fa-terminal:before { - content: "" -} - -.fa-code:before { - content: "" -} - -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: "" -} - -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: "" -} - -.fa-location-arrow:before { - content: "" -} - -.fa-crop:before { - content: "" -} - -.fa-code-fork:before { - content: "" -} - -.fa-unlink:before, -.fa-chain-broken:before { - content: "" -} - -.fa-question:before { - content: "" -} - -.fa-info:before { - content: "" -} - -.fa-exclamation:before { - content: "" -} - -.fa-superscript:before { - content: "" -} - -.fa-subscript:before { - content: "" -} - -.fa-eraser:before { - content: "" -} - -.fa-puzzle-piece:before { - content: "" -} - -.fa-microphone:before { - content: "" -} - -.fa-microphone-slash:before { - content: "" -} - -.fa-shield:before { - content: "" -} - -.fa-calendar-o:before { - content: "" -} - -.fa-fire-extinguisher:before { - content: "" -} - -.fa-rocket:before { - content: "" -} - -.fa-maxcdn:before { - content: "" -} - -.fa-chevron-circle-left:before { - content: "" -} - -.fa-chevron-circle-right:before { - content: "" -} - -.fa-chevron-circle-up:before { - content: "" -} - -.fa-chevron-circle-down:before { - content: "" -} - -.fa-html5:before { - content: "" -} - -.fa-css3:before { - content: "" -} - -.fa-anchor:before { - content: "" -} - -.fa-unlock-alt:before { - content: "" -} - -.fa-bullseye:before { - content: "" -} - -.fa-ellipsis-h:before { - content: "" -} - -.fa-ellipsis-v:before { - content: "" -} - -.fa-rss-square:before { - content: "" -} - -.fa-play-circle:before { - content: "" -} - -.fa-ticket:before { - content: "" -} - -.fa-minus-square:before { - content: "" -} - -.fa-minus-square-o:before { - content: "" -} - -.fa-level-up:before { - content: "" -} - -.fa-level-down:before { - content: "" -} - -.fa-check-square:before { - content: "" -} - -.fa-pencil-square:before { - content: "" -} - -.fa-external-link-square:before { - content: "" -} - -.fa-share-square:before { - content: "" -} - -.fa-compass:before { - content: "" -} - -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: "" -} - -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: "" -} - -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: "" -} - -.fa-euro:before, -.fa-eur:before { - content: "" -} - -.fa-gbp:before { - content: "" -} - -.fa-dollar:before, -.fa-usd:before { - content: "" -} - -.fa-rupee:before, -.fa-inr:before { - content: "" -} - -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: "" -} - -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: "" -} - -.fa-won:before, -.fa-krw:before { - content: "" -} - -.fa-bitcoin:before, -.fa-btc:before { - content: "" -} - -.fa-file:before { - content: "" -} - -.fa-file-text:before { - content: "" -} - -.fa-sort-alpha-asc:before { - content: "" -} - -.fa-sort-alpha-desc:before { - content: "" -} - -.fa-sort-amount-asc:before { - content: "" -} - -.fa-sort-amount-desc:before { - content: "" -} - -.fa-sort-numeric-asc:before { - content: "" -} - -.fa-sort-numeric-desc:before { - content: "" -} - -.fa-thumbs-up:before { - content: "" -} - -.fa-thumbs-down:before { - content: "" -} - -.fa-youtube-square:before { - content: "" -} - -.fa-youtube:before { - content: "" -} - -.fa-xing:before { - content: "" -} - -.fa-xing-square:before { - content: "" -} - -.fa-youtube-play:before { - content: "" -} - -.fa-dropbox:before { - content: "" -} - -.fa-stack-overflow:before { - content: "" -} - -.fa-instagram:before { - content: "" -} - -.fa-flickr:before { - content: "" -} - -.fa-adn:before { - content: "" -} - -.fa-bitbucket:before { - content: "" -} - -.fa-bitbucket-square:before { - content: "" -} - -.fa-tumblr:before { - content: "" -} - -.fa-tumblr-square:before { - content: "" -} - -.fa-long-arrow-down:before { - content: "" -} - -.fa-long-arrow-up:before { - content: "" -} - -.fa-long-arrow-left:before { - content: "" -} - -.fa-long-arrow-right:before { - content: "" -} - -.fa-apple:before { - content: "" -} - -.fa-windows:before { - content: "" -} - -.fa-android:before { - content: "" -} - -.fa-linux:before { - content: "" -} - -.fa-dribbble:before { - content: "" -} - -.fa-skype:before { - content: "" -} - -.fa-foursquare:before { - content: "" -} - -.fa-trello:before { - content: "" -} - -.fa-female:before { - content: "" -} - -.fa-male:before { - content: "" -} - -.fa-gittip:before, -.fa-gratipay:before { - content: "" -} - -.fa-sun-o:before { - content: "" -} - -.fa-moon-o:before { - content: "" -} - -.fa-archive:before { - content: "" -} - -.fa-bug:before { - content: "" -} - -.fa-vk:before { - content: "" -} - -.fa-weibo:before { - content: "" -} - -.fa-renren:before { - content: "" -} - -.fa-pagelines:before { - content: "" -} - -.fa-stack-exchange:before { - content: "" -} - -.fa-arrow-circle-o-right:before { - content: "" -} - -.fa-arrow-circle-o-left:before { - content: "" -} - -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: "" -} - -.fa-dot-circle-o:before { - content: "" -} - -.fa-wheelchair:before { - content: "" -} - -.fa-vimeo-square:before { - content: "" -} - -.fa-turkish-lira:before, -.fa-try:before { - content: "" -} - -.fa-plus-square-o:before { - content: "" -} - -.fa-space-shuttle:before { - content: "" -} - -.fa-slack:before { - content: "" -} - -.fa-envelope-square:before { - content: "" -} - -.fa-wordpress:before { - content: "" -} - -.fa-openid:before { - content: "" -} - -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: "" -} - -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: "" -} - -.fa-yahoo:before { - content: "" -} - -.fa-google:before { - content: "" -} - -.fa-reddit:before { - content: "" -} - -.fa-reddit-square:before { - content: "" -} - -.fa-stumbleupon-circle:before { - content: "" -} - -.fa-stumbleupon:before { - content: "" -} - -.fa-delicious:before { - content: "" -} - -.fa-digg:before { - content: "" -} - -.fa-pied-piper-pp:before { - content: "" -} - -.fa-pied-piper-alt:before { - content: "" -} - -.fa-drupal:before { - content: "" -} - -.fa-joomla:before { - content: "" -} - -.fa-language:before { - content: "" -} - -.fa-fax:before { - content: "" -} - -.fa-building:before { - content: "" -} - -.fa-child:before { - content: "" -} - -.fa-paw:before { - content: "" -} - -.fa-spoon:before { - content: "" -} - -.fa-cube:before { - content: "" -} - -.fa-cubes:before { - content: "" -} - -.fa-behance:before { - content: "" -} - -.fa-behance-square:before { - content: "" -} - -.fa-steam:before { - content: "" -} - -.fa-steam-square:before { - content: "" -} - -.fa-recycle:before { - content: "" -} - -.fa-automobile:before, -.fa-car:before { - content: "" -} - -.fa-cab:before, -.fa-taxi:before { - content: "" -} - -.fa-tree:before { - content: "" -} - -.fa-spotify:before { - content: "" -} - -.fa-deviantart:before { - content: "" -} - -.fa-soundcloud:before { - content: "" -} - -.fa-database:before { - content: "" -} - -.fa-file-pdf-o:before { - content: "" -} - -.fa-file-word-o:before { - content: "" -} - -.fa-file-excel-o:before { - content: "" -} - -.fa-file-powerpoint-o:before { - content: "" -} - -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: "" -} - -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: "" -} - -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: "" -} - -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: "" -} - -.fa-file-code-o:before { - content: "" -} - -.fa-vine:before { - content: "" -} - -.fa-codepen:before { - content: "" -} - -.fa-jsfiddle:before { - content: "" -} - -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "" -} - -.fa-circle-o-notch:before { - content: "" -} - -.fa-ra:before, -.fa-resistance:before, -.fa-rebel:before { - content: "" -} - -.fa-ge:before, -.fa-empire:before { - content: "" -} - -.fa-git-square:before { - content: "" -} - -.fa-git:before { - content: "" -} - -.fa-y-combinator-square:before, -.fa-yc-square:before, -.fa-hacker-news:before { - content: "" -} - -.fa-tencent-weibo:before { - content: "" -} - -.fa-qq:before { - content: "" -} - -.fa-wechat:before, -.fa-weixin:before { - content: "" -} - -.fa-send:before, -.fa-paper-plane:before { - content: "" -} - -.fa-send-o:before, -.fa-paper-plane-o:before { - content: "" -} - -.fa-history:before { - content: "" -} - -.fa-circle-thin:before { - content: "" -} - -.fa-header:before { - content: "" -} - -.fa-paragraph:before { - content: "" -} - -.fa-sliders:before { - content: "" -} - -.fa-share-alt:before { - content: "" -} - -.fa-share-alt-square:before { - content: "" -} - -.fa-bomb:before { - content: "" -} - -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "" -} - -.fa-tty:before { - content: "" -} - -.fa-binoculars:before { - content: "" -} - -.fa-plug:before { - content: "" -} - -.fa-slideshare:before { - content: "" -} - -.fa-twitch:before { - content: "" -} - -.fa-yelp:before { - content: "" -} - -.fa-newspaper-o:before { - content: "" -} - -.fa-wifi:before { - content: "" -} - -.fa-calculator:before { - content: "" -} - -.fa-paypal:before { - content: "" -} - -.fa-google-wallet:before { - content: "" -} - -.fa-cc-visa:before { - content: "" -} - -.fa-cc-mastercard:before { - content: "" -} - -.fa-cc-discover:before { - content: "" -} - -.fa-cc-amex:before { - content: "" -} - -.fa-cc-paypal:before { - content: "" -} - -.fa-cc-stripe:before { - content: "" -} - -.fa-bell-slash:before { - content: "" -} - -.fa-bell-slash-o:before { - content: "" -} - -.fa-trash:before { - content: "" -} - -.fa-copyright:before { - content: "" -} - -.fa-at:before { - content: "" -} - -.fa-eyedropper:before { - content: "" -} - -.fa-paint-brush:before { - content: "" -} - -.fa-birthday-cake:before { - content: "" -} - -.fa-area-chart:before { - content: "" -} - -.fa-pie-chart:before { - content: "" -} - -.fa-line-chart:before { - content: "" -} - -.fa-lastfm:before { - content: "" -} - -.fa-lastfm-square:before { - content: "" -} - -.fa-toggle-off:before { - content: "" -} - -.fa-toggle-on:before { - content: "" -} - -.fa-bicycle:before { - content: "" -} - -.fa-bus:before { - content: "" -} - -.fa-ioxhost:before { - content: "" -} - -.fa-angellist:before { - content: "" -} - -.fa-cc:before { - content: "" -} - -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "" -} - -.fa-meanpath:before { - content: "" -} - -.fa-buysellads:before { - content: "" -} - -.fa-connectdevelop:before { - content: "" -} - -.fa-dashcube:before { - content: "" -} - -.fa-forumbee:before { - content: "" -} - -.fa-leanpub:before { - content: "" -} - -.fa-sellsy:before { - content: "" -} - -.fa-shirtsinbulk:before { - content: "" -} - -.fa-simplybuilt:before { - content: "" -} - -.fa-skyatlas:before { - content: "" -} - -.fa-cart-plus:before { - content: "" -} - -.fa-cart-arrow-down:before { - content: "" -} - -.fa-diamond:before { - content: "" -} - -.fa-ship:before { - content: "" -} - -.fa-user-secret:before { - content: "" -} - -.fa-motorcycle:before { - content: "" -} - -.fa-street-view:before { - content: "" -} - -.fa-heartbeat:before { - content: "" -} - -.fa-venus:before { - content: "" -} - -.fa-mars:before { - content: "" -} - -.fa-mercury:before { - content: "" -} - -.fa-intersex:before, -.fa-transgender:before { - content: "" -} - -.fa-transgender-alt:before { - content: "" -} - -.fa-venus-double:before { - content: "" -} - -.fa-mars-double:before { - content: "" -} - -.fa-venus-mars:before { - content: "" -} - -.fa-mars-stroke:before { - content: "" -} - -.fa-mars-stroke-v:before { - content: "" -} - -.fa-mars-stroke-h:before { - content: "" -} - -.fa-neuter:before { - content: "" -} - -.fa-genderless:before { - content: "" -} - -.fa-facebook-official:before { - content: "" -} - -.fa-pinterest-p:before { - content: "" -} - -.fa-whatsapp:before { - content: "" -} - -.fa-server:before { - content: "" -} - -.fa-user-plus:before { - content: "" -} - -.fa-user-times:before { - content: "" -} - -.fa-hotel:before, -.fa-bed:before { - content: "" -} - -.fa-viacoin:before { - content: "" -} - -.fa-train:before { - content: "" -} - -.fa-subway:before { - content: "" -} - -.fa-medium:before { - content: "" -} - -.fa-yc:before, -.fa-y-combinator:before { - content: "" -} - -.fa-optin-monster:before { - content: "" -} - -.fa-opencart:before { - content: "" -} - -.fa-expeditedssl:before { - content: "" -} - -.fa-battery-4:before, -.fa-battery:before, -.fa-battery-full:before { - content: "" -} - -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: "" -} - -.fa-battery-2:before, -.fa-battery-half:before { - content: "" -} - -.fa-battery-1:before, -.fa-battery-quarter:before { - content: "" -} - -.fa-battery-0:before, -.fa-battery-empty:before { - content: "" -} - -.fa-mouse-pointer:before { - content: "" -} - -.fa-i-cursor:before { - content: "" -} - -.fa-object-group:before { - content: "" -} - -.fa-object-ungroup:before { - content: "" -} - -.fa-sticky-note:before { - content: "" -} - -.fa-sticky-note-o:before { - content: "" -} - -.fa-cc-jcb:before { - content: "" -} - -.fa-cc-diners-club:before { - content: "" -} - -.fa-clone:before { - content: "" -} - -.fa-balance-scale:before { - content: "" -} - -.fa-hourglass-o:before { - content: "" -} - -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: "" -} - -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: "" -} - -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: "" -} - -.fa-hourglass:before { - content: "" -} - -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: "" -} - -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: "" -} - -.fa-hand-scissors-o:before { - content: "" -} - -.fa-hand-lizard-o:before { - content: "" -} - -.fa-hand-spock-o:before { - content: "" -} - -.fa-hand-pointer-o:before { - content: "" -} - -.fa-hand-peace-o:before { - content: "" -} - -.fa-trademark:before { - content: "" -} - -.fa-registered:before { - content: "" -} - -.fa-creative-commons:before { - content: "" -} - -.fa-gg:before { - content: "" -} - -.fa-gg-circle:before { - content: "" -} - -.fa-tripadvisor:before { - content: "" -} - -.fa-odnoklassniki:before { - content: "" -} - -.fa-odnoklassniki-square:before { - content: "" -} - -.fa-get-pocket:before { - content: "" -} - -.fa-wikipedia-w:before { - content: "" -} - -.fa-safari:before { - content: "" -} - -.fa-chrome:before { - content: "" -} - -.fa-firefox:before { - content: "" -} - -.fa-opera:before { - content: "" -} - -.fa-internet-explorer:before { - content: "" -} - -.fa-tv:before, -.fa-television:before { - content: "" -} - -.fa-contao:before { - content: "" -} - -.fa-500px:before { - content: "" -} - -.fa-amazon:before { - content: "" -} - -.fa-calendar-plus-o:before { - content: "" -} - -.fa-calendar-minus-o:before { - content: "" -} - -.fa-calendar-times-o:before { - content: "" -} - -.fa-calendar-check-o:before { - content: "" -} - -.fa-industry:before { - content: "" -} - -.fa-map-pin:before { - content: "" -} - -.fa-map-signs:before { - content: "" -} - -.fa-map-o:before { - content: "" -} - -.fa-map:before { - content: "" -} - -.fa-commenting:before { - content: "" -} - -.fa-commenting-o:before { - content: "" -} - -.fa-houzz:before { - content: "" -} - -.fa-vimeo:before { - content: "" -} - -.fa-black-tie:before { - content: "" -} - -.fa-fonticons:before { - content: "" -} - -.fa-reddit-alien:before { - content: "" -} - -.fa-edge:before { - content: "" -} - -.fa-credit-card-alt:before { - content: "" -} - -.fa-codiepie:before { - content: "" -} - -.fa-modx:before { - content: "" -} - -.fa-fort-awesome:before { - content: "" -} - -.fa-usb:before { - content: "" -} - -.fa-product-hunt:before { - content: "" -} - -.fa-mixcloud:before { - content: "" -} - -.fa-scribd:before { - content: "" -} - -.fa-pause-circle:before { - content: "" -} - -.fa-pause-circle-o:before { - content: "" -} - -.fa-stop-circle:before { - content: "" -} - -.fa-stop-circle-o:before { - content: "" -} - -.fa-shopping-bag:before { - content: "" -} - -.fa-shopping-basket:before { - content: "" -} - -.fa-hashtag:before { - content: "" -} - -.fa-bluetooth:before { - content: "" -} - -.fa-bluetooth-b:before { - content: "" -} - -.fa-percent:before { - content: "" -} - -.fa-gitlab:before { - content: "" -} - -.fa-wpbeginner:before { - content: "" -} - -.fa-wpforms:before { - content: "" -} - -.fa-envira:before { - content: "" -} - -.fa-universal-access:before { - content: "" -} - -.fa-wheelchair-alt:before { - content: "" -} - -.fa-question-circle-o:before { - content: "" -} - -.fa-blind:before { - content: "" -} - -.fa-audio-description:before { - content: "" -} - -.fa-volume-control-phone:before { - content: "" -} - -.fa-braille:before { - content: "" -} - -.fa-assistive-listening-systems:before { - content: "" -} - -.fa-asl-interpreting:before, -.fa-american-sign-language-interpreting:before { - content: "" -} - -.fa-deafness:before, -.fa-hard-of-hearing:before, -.fa-deaf:before { - content: "" -} - -.fa-glide:before { - content: "" -} - -.fa-glide-g:before { - content: "" -} - -.fa-signing:before, -.fa-sign-language:before { - content: "" -} - -.fa-low-vision:before { - content: "" -} - -.fa-viadeo:before { - content: "" -} - -.fa-viadeo-square:before { - content: "" -} - -.fa-snapchat:before { - content: "" -} - -.fa-snapchat-ghost:before { - content: "" -} - -.fa-snapchat-square:before { - content: "" -} - -.fa-pied-piper:before { - content: "" -} - -.fa-first-order:before { - content: "" -} - -.fa-yoast:before { - content: "" -} - -.fa-themeisle:before { - content: "" -} - -.fa-google-plus-circle:before, -.fa-google-plus-official:before { - content: "" -} - -.fa-fa:before, -.fa-font-awesome:before { - content: "" -} - -.fa-handshake-o:before { - content: "" -} - -.fa-envelope-open:before { - content: "" -} - -.fa-envelope-open-o:before { - content: "" -} - -.fa-linode:before { - content: "" -} - -.fa-address-book:before { - content: "" -} - -.fa-address-book-o:before { - content: "" -} - -.fa-vcard:before, -.fa-address-card:before { - content: "" -} - -.fa-vcard-o:before, -.fa-address-card-o:before { - content: "" -} - -.fa-user-circle:before { - content: "" -} - -.fa-user-circle-o:before { - content: "" -} - -.fa-user-o:before { - content: "" -} - -.fa-id-badge:before { - content: "" -} - -.fa-drivers-license:before, -.fa-id-card:before { - content: "" -} - -.fa-drivers-license-o:before, -.fa-id-card-o:before { - content: "" -} - -.fa-quora:before { - content: "" -} - -.fa-free-code-camp:before { - content: "" -} - -.fa-telegram:before { - content: "" -} - -.fa-thermometer-4:before, -.fa-thermometer:before, -.fa-thermometer-full:before { - content: "" -} - -.fa-thermometer-3:before, -.fa-thermometer-three-quarters:before { - content: "" -} - -.fa-thermometer-2:before, -.fa-thermometer-half:before { - content: "" -} - -.fa-thermometer-1:before, -.fa-thermometer-quarter:before { - content: "" -} - -.fa-thermometer-0:before, -.fa-thermometer-empty:before { - content: "" -} - -.fa-shower:before { - content: "" -} - -.fa-bathtub:before, -.fa-s15:before, -.fa-bath:before { - content: "" -} - -.fa-podcast:before { - content: "" -} - -.fa-window-maximize:before { - content: "" -} - -.fa-window-minimize:before { - content: "" -} - -.fa-window-restore:before { - content: "" -} - -.fa-times-rectangle:before, -.fa-window-close:before { - content: "" -} - -.fa-times-rectangle-o:before, -.fa-window-close-o:before { - content: "" -} - -.fa-bandcamp:before { - content: "" -} - -.fa-grav:before { - content: "" -} - -.fa-etsy:before { - content: "" -} - -.fa-imdb:before { - content: "" -} - -.fa-ravelry:before { - content: "" -} - -.fa-eercast:before { - content: "" -} - -.fa-microchip:before { - content: "" -} - -.fa-snowflake-o:before { - content: "" -} - -.fa-superpowers:before { - content: "" -} - -.fa-wpexplorer:before { - content: "" -} - -.fa-meetup:before { - content: "" -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0 -} - -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto -} - -.CodeMirror { - font-family: monospace; - height: 300px; - color: black -} - -.CodeMirror-lines { - padding: 4px 0 -} - -.CodeMirror pre { - padding: 0 4px -} - -.CodeMirror-scrollbar-filler, -.CodeMirror-gutter-filler { - background-color: white -} - -.CodeMirror-gutters { - border-right: 1px solid #ddd; - background-color: #f7f7f7; - white-space: nowrap -} - -.CodeMirror-linenumber { - padding: 0 3px 0 5px; - min-width: 20px; - text-align: right; - color: #999; - white-space: nowrap -} - -.CodeMirror-guttermarker { - color: black -} - -.CodeMirror-guttermarker-subtle { - color: #999 -} - -.CodeMirror-cursor { - border-left: 1px solid black; - border-right: none; - width: 0 -} - -.CodeMirror div.CodeMirror-secondarycursor { - border-left: 1px solid silver -} - -.cm-fat-cursor .CodeMirror-cursor { - width: auto; - border: 0 !important; - background: #7e7 -} - -.cm-fat-cursor div.CodeMirror-cursors { - z-index: 1 -} - -.cm-animate-fat-cursor { - width: auto; - border: 0; - -webkit-animation: blink 1.06s steps(1) infinite; - -moz-animation: blink 1.06s steps(1) infinite; - animation: blink 1.06s steps(1) infinite; - background-color: #7e7 -} - -@-moz-keyframes blink { - 0% {} - 50% { - background-color: transparent - } - 100% {} -} - -@-webkit-keyframes blink { - 0% {} - 50% { - background-color: transparent - } - 100% {} -} - -@keyframes blink { - 0% {} - 50% { - background-color: transparent - } - 100% {} -} - -.cm-tab { - display: inline-block; - text-decoration: inherit -} - -.CodeMirror-rulers { - position: absolute; - left: 0; - right: 0; - top: -50px; - bottom: -20px; - overflow: hidden -} - -.CodeMirror-ruler { - border-left: 1px solid #ccc; - top: 0; - bottom: 0; - position: absolute -} - -.cm-s-default .cm-header { - color: blue -} - -.cm-s-default .cm-quote { - color: #090 -} - -.cm-negative { - color: #d44 -} - -.cm-positive { - color: #292 -} - -.cm-header, -.cm-strong { - font-weight: bold -} - -.cm-em { - font-style: italic -} - -.cm-link { - text-decoration: underline -} - -.cm-strikethrough { - text-decoration: line-through -} - -.cm-s-default .cm-keyword { - color: #708 -} - -.cm-s-default .cm-atom { - color: #219 -} - -.cm-s-default .cm-number { - color: #164 -} - -.cm-s-default .cm-def { - color: #00f -} - -.cm-s-default .cm-variable-2 { - color: #05a -} - -.cm-s-default .cm-variable-3 { - color: #085 -} - -.cm-s-default .cm-comment { - color: #a50 -} - -.cm-s-default .cm-string { - color: #a11 -} - -.cm-s-default .cm-string-2 { - color: #f50 -} - -.cm-s-default .cm-meta { - color: #555 -} - -.cm-s-default .cm-qualifier { - color: #555 -} - -.cm-s-default .cm-builtin { - color: #30a -} - -.cm-s-default .cm-bracket { - color: #997 -} - -.cm-s-default .cm-tag { - color: #170 -} - -.cm-s-default .cm-attribute { - color: #00c -} - -.cm-s-default .cm-hr { - color: #999 -} - -.cm-s-default .cm-link { - color: #00c -} - -.cm-s-default .cm-error { - color: #f00 -} - -.cm-invalidchar { - color: #f00 -} - -.CodeMirror-composing { - border-bottom: 2px solid -} - -div.CodeMirror span.CodeMirror-matchingbracket { - color: #0f0 -} - -div.CodeMirror span.CodeMirror-nonmatchingbracket { - color: #f22 -} - -.CodeMirror-matchingtag { - background: rgba(255, 150, 0, 0.3) -} - -.CodeMirror-activeline-background { - background: #e8f2ff -} - -.CodeMirror { - position: relative; - overflow: hidden; - background: white -} - -.CodeMirror-scroll { - overflow: scroll !important; - margin-bottom: -30px; - margin-right: -30px; - padding-bottom: 30px; - height: 100%; - outline: none; - position: relative -} - -.CodeMirror-sizer { - position: relative; - border-right: 30px solid transparent -} - -.CodeMirror-vscrollbar, -.CodeMirror-hscrollbar, -.CodeMirror-scrollbar-filler, -.CodeMirror-gutter-filler { - position: absolute; - z-index: 6; - display: none -} - -.CodeMirror-vscrollbar { - right: 0; - top: 0; - overflow-x: hidden; - overflow-y: scroll -} - -.CodeMirror-hscrollbar { - bottom: 0; - left: 0; - overflow-y: hidden; - overflow-x: scroll -} - -.CodeMirror-scrollbar-filler { - right: 0; - bottom: 0 -} - -.CodeMirror-gutter-filler { - left: 0; - bottom: 0 -} - -.CodeMirror-gutters { - position: absolute; - left: 0; - top: 0; - min-height: 100%; - z-index: 3 -} - -.CodeMirror-gutter { - white-space: normal; - height: 100%; - display: inline-block; - vertical-align: top; - margin-bottom: -30px -} - -.CodeMirror-gutter-wrapper { - position: absolute; - z-index: 4; - background: none !important; - border: none !important -} - -.CodeMirror-gutter-background { - position: absolute; - top: 0; - bottom: 0; - z-index: 4 -} - -.CodeMirror-gutter-elt { - position: absolute; - cursor: default; - z-index: 4 -} - -.CodeMirror-gutter-wrapper { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none -} - -.CodeMirror-lines { - cursor: text; - min-height: 1px -} - -.CodeMirror pre { - -moz-border-radius: 0; - -webkit-border-radius: 0; - border-radius: 0; - border-width: 0; - background: transparent; - font-family: inherit; - font-size: inherit; - margin: 0; - white-space: pre; - word-wrap: normal; - line-height: inherit; - color: inherit; - z-index: 2; - position: relative; - overflow: visible; - -webkit-tap-highlight-color: transparent; - -webkit-font-variant-ligatures: none; - font-variant-ligatures: none -} - -.CodeMirror-wrap pre { - word-wrap: break-word; - white-space: pre-wrap; - word-break: normal -} - -.CodeMirror-linebackground { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - z-index: 0 -} - -.CodeMirror-linewidget { - position: relative; - z-index: 2; - overflow: auto -} - -.CodeMirror-code { - outline: none -} - -.CodeMirror-scroll, -.CodeMirror-sizer, -.CodeMirror-gutter, -.CodeMirror-gutters, -.CodeMirror-linenumber { - -moz-box-sizing: content-box; - box-sizing: content-box -} - -.CodeMirror-measure { - position: absolute; - width: 100%; - height: 0; - overflow: hidden; - visibility: hidden -} - -.CodeMirror-cursor { - position: absolute; - pointer-events: none -} - -.CodeMirror-measure pre { - position: static -} - -div.CodeMirror-cursors { - visibility: hidden; - position: relative; - z-index: 3 -} - -div.CodeMirror-dragcursors { - visibility: visible -} - -.CodeMirror-focused div.CodeMirror-cursors { - visibility: visible -} - -.CodeMirror-selected { - background: #d9d9d9 -} - -.CodeMirror-focused .CodeMirror-selected { - background: #d7d4f0 -} - -.CodeMirror-crosshair { - cursor: crosshair -} - -.CodeMirror-line::selection, -.CodeMirror-line>span::selection, -.CodeMirror-line>span>span::selection { - background: #d7d4f0 -} - -.CodeMirror-line::-moz-selection, -.CodeMirror-line>span::-moz-selection, -.CodeMirror-line>span>span::-moz-selection { - background: #d7d4f0 -} - -.cm-searching { - background: #ffa; - background: rgba(255, 255, 0, 0.4) -} - -.cm-force-border { - padding-right: .1px -} - -@media print { - .CodeMirror div.CodeMirror-cursors { - visibility: hidden - } -} - -.cm-tab-wrap-hack:after { - content: '' -} - -span.CodeMirror-selectedtext { - background: none -} - -.cm-s-hopscotch.CodeMirror { - background: #322931; - color: #d5d3d5 -} - -.cm-s-hopscotch div.CodeMirror-selected { - background: #433b42 !important -} - -.cm-s-hopscotch .CodeMirror-gutters { - background: #322931; - border-right: 0px -} - -.cm-s-hopscotch .CodeMirror-linenumber { - color: #797379 -} - -.cm-s-hopscotch .CodeMirror-cursor { - border-left: 1px solid #989498 !important -} - -.cm-s-hopscotch span.cm-comment { - color: #b33508 -} - -.cm-s-hopscotch span.cm-atom { - color: #c85e7c -} - -.cm-s-hopscotch span.cm-number { - color: #c85e7c -} - -.cm-s-hopscotch span.cm-property, -.cm-s-hopscotch span.cm-attribute { - color: #8fc13e -} - -.cm-s-hopscotch span.cm-keyword { - color: #dd464c -} - -.cm-s-hopscotch span.cm-string { - color: #fdcc59 -} - -.cm-s-hopscotch span.cm-variable { - color: #8fc13e -} - -.cm-s-hopscotch span.cm-variable-2 { - color: #1290bf -} - -.cm-s-hopscotch span.cm-def { - color: #fd8b19 -} - -.cm-s-hopscotch span.cm-error { - background: #dd464c; - color: #989498 -} - -.cm-s-hopscotch span.cm-bracket { - color: #d5d3d5 -} - -.cm-s-hopscotch span.cm-tag { - color: #dd464c -} - -.cm-s-hopscotch span.cm-link { - color: #c85e7c -} - -.cm-s-hopscotch .CodeMirror-matchingbracket { - text-decoration: underline; - color: white !important -} - -.cm-s-hopscotch .CodeMirror-activeline-background { - background: #302020 -} - -@font-face { - font-family: 'font3336'; - src: url("../fonts/main-fonts.eot?v=20"); - src: url("../fonts/main-fonts.woff?v=20") format("woff"), url("../fonts/main-fonts.ttf?v=20") format("truetype"), url("../fonts/main-fonts.svg?v=20") format("svg"), url("../fonts/main-fonts.eot?v=20") format("embedded-opentype"); - font-weight: normal; - font-style: normal -} - -.gjs-active-color { - color: #71b7f1 -} - -.gjs-warn-color { - color: #ffca6f -} - -.gjs-fonts::before { - display: block; - font: normal normal normal 14px font3336; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - font-size: 5em -} - -.gjs-f-b1::before { - content: 'Q' -} - -.gjs-f-b2::before { - content: 'W' -} - -.gjs-f-b3::before { - content: 'E' -} - -.gjs-f-b37::before { - content: 'R' -} - -.gjs-f-hero::before { - content: 'T' -} - -.gjs-f-h1p::before { - content: 'y' -} - -.gjs-f-3ba::before { - content: 'u' -} - -.gjs-f-image::before { - content: 'I' -} - -.gjs-f-text::before { - content: 'o' -} - -.gjs-f-quo::before { - content: 'p' -} - -.gjs-f-button::before { - content: 'B' -} - -.gjs-f-divider::before { - content: 'D' -} - -.gjs-invis-invis, -.gjs-clm-tags #gjs-clm-new, -.gjs-no-app { - background-color: transparent; - border: none; - color: inherit -} - -.gjs-no-app { - height: 10px -} - -.gjs-test::btn { - color: '#fff' -} - -.opac50, -.gjs-clm-tags #gjs-clm-close { - opacity: .5; - filter: alpha(opacity=50) -} - -.gjs-checker-bg, -.gjs-field-colorp-c, -.checker-bg, -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==") -} - -.gjs-no-user-select, -.gjs-grabbing, -.gjs-grabbing *, -.gjs-nav-comp-name { - -moz-user-select: none; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none -} - -.gjs-no-pointer-events, -.gjs-resizer-c, -.gjs-margin-v-el, -.gjs-padding-v-el, -.gjs-fixedmargin-v-el, -.gjs-fixedpadding-v-el { - pointer-events: none -} - -.gjs-bg-main, -.gjs-off-prv, -.gjs-select option, -.gjs-clm-select option, -.gjs-sm-select option, -.gjs-sm-unit option, -.gjs-pn-panel, -.gjs-nv-item .gjs-nv-title-c, -.gjs-field-select option, -.gjs-sm-sector .gjs-sm-colorp-c, -.gjs-clm-tags .gjs-sm-colorp-c, -.gjs-block, -.gjs-mdl-dialog, -#gjs-rte-toolbar, -.sp-container { - background-color: #444 -} - -.gjs-color-main, -.gjs-off-prv, -.gjs-btn-prim, -.gjs-pn-panel, -.gjs-pn-btn, -.gjs-btnt, -.gjs-sm-sector .gjs-sm-field.gjs-sm-composite, -.gjs-clm-tags .gjs-sm-field.gjs-sm-composite, -.gjs-sm-sector .gjs-sm-composite.gjs-clm-field, -.gjs-clm-tags .gjs-sm-composite.gjs-clm-field, -.gjs-sm-sector .gjs-sm-stack #gjs-sm-add, -.gjs-clm-tags .gjs-sm-stack #gjs-sm-add, -.gjs-block-svg-path, -.gjs-mdl-dialog, -#gjs-rte-toolbar .gjs-rte-btn { - color: #ddd; - fill: #ddd -} - -.gjs-color-active, -.gjs-pn-btn.gjs-pn-active, -.gjs-btnt.gjs-pn-active { - color: #f8f8f8; - fill: #f8f8f8 -} - -.gjs-bdrag { - pointer-events: none !important; - position: absolute !important; - z-index: 10 !important; - width: auto -} - -.gjs-drag-helper { - background-color: #3b97e3 !important; - pointer-events: none !important; - position: absolute !important; - z-index: 10 !important; - transform: scale(0.3) !important; - transform-origin: top left !important; - -webkit-transform-origin: top left !important; - margin: 15px !important; - transition: none !important; - outline: none !important -} - -.gjs-grabbing, -.gjs-grabbing * { - cursor: grabbing !important; - cursor: -webkit-grabbing !important -} - -.gjs-grabbing { - overflow: hidden -} - -.gjs-off-prv { - position: relative; - z-index: 10; - padding: 5px; - cursor: pointer -} - -.gjs-editor-cont::-webkit-scrollbar-track { - background: rgba(0, 0, 0, 0.1) -} - -.gjs-editor-cont::-webkit-scrollbar-thumb { - background-color: rgba(255, 255, 255, 0.2) -} - -.gjs-editor-cont::-webkit-scrollbar { - width: 8px -} - -.clear { - clear: both -} - -.no-select, -.gjs-com-no-select, -.gjs-com-no-select img, -.gjs-category-title, -.gjs-sm-sector .gjs-sm-title, -.gjs-clm-tags .gjs-sm-title, -.gjs-block-category .gjs-title, -.gjs-clm-tags #gjs-clm-close, -.gjs-clm-tags #gjs-clm-tag-label { - -moz-user-select: none; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none -} - -.gjs-editor { - font-family: Helvetica, sans-serif; - background-color: #444; - position: relative; - box-sizing: border-box; - height: 100% -} - -.gjs-freezed, -.gjs-nv-freezed { - opacity: .5; - filter: alpha(opacity=50); - pointer-events: none -} - -.gjs-btn-prim { - background-color: rgba(255, 255, 255, 0.1); - border-radius: 2px; - padding: 3px 6px; - cursor: pointer; - padding: 0.5em; - border: none -} - -.gjs-btn-prim:active { - background-color: rgba(255, 255, 255, 0.1) -} - -.gjs-input, -.gjs-select { - background-color: rgba(0, 0, 0, 0.3); - border: 1px solid rgba(0, 0, 0, 0.1); - border-radius: 2px; - box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1); - box-sizing: border-box; - color: #ddd; - padding: 0.5em 1em -} - -div.gjs-select { - padding: 0 -} - -.gjs-select select { - padding-right: 10px -} - -.gjs-select:-moz-focusring, -.gjs-select select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 rgba(255, 255, 255, 0.7) -} - -.gjs-input:focus, -.gjs-select:focus, -.gjs-button:focus, -.gjs-btn-prim:focus, -.gjs-select:focus, -.gjs-select select:focus { - outline: none -} - -.gjs-traits-label { - border-bottom: 1px solid rgba(0, 0, 0, 0.3); - font-size: 13px; - font-weight: lighter; - margin-bottom: 5px; - padding: 10px; - text-align: left -} - -.gjs-trt-trait { - display: flex; - justify-content: start; - padding: 5px 10px; - font-size: 0.75em; - font-weight: lighter -} - -.gjs-trt-trait .gjs-label { - width: 30%; - text-align: left -} - -.gjs-trt-trait .gjs-field { - width: 70% -} - -.gjs-cv-canvas { - background-color: rgba(0, 0, 0, 0.15); - box-sizing: border-box; - position: absolute; - width: 85%; - height: 100%; - bottom: 0; - left: 0; - overflow: hidden; - padding-top: 40px; - z-index: 1 -} - -.gjs-cv-canvas>iframe { - height: 100%; - outline: medium none; - width: 100%; - border: none; - margin: 0 auto; - display: block -} - -.gjs-cv-canvas .gjs-ghost { - display: none; - pointer-events: none; - background-color: #5b5b5b; - border: 2px dashed #ccc; - position: absolute; - z-index: 10; - opacity: .55; - filter: alpha(opacity=55) -} - -.gjs-cv-canvas .gjs-highlighter, -.gjs-cv-canvas .gjs-highlighter-sel { - position: absolute; - outline: 1px solid #3b97e3; - pointer-events: none -} - -.gjs-cv-canvas .gjs-highlighter-warning { - outline: 3px solid #ffca6f -} - -.gjs-cv-canvas .gjs-highlighter-sel { - outline: 3px solid #3b97e3 -} - -.gjs-cv-canvas #gjs-tools { - width: 100%; - position: absolute; - top: 0; - left: 0; - outline: none -} - -.gjs-cv-canvas>div:first-child { - background-color: #fff; - position: relative; - height: 100%; - overflow: auto; - width: 100% -} - -.gjs-cv-canvas * { - box-sizing: border-box -} - -.gjs-frame { - transition: width 0.35s ease -} - -.gjs-toolbar { - position: absolute; - background-color: #3b97e3; - color: white; - z-index: 10 -} - -.gjs-toolbar-item { - padding: 5px 7px; - font-size: 0.8rem; - cursor: pointer -} - -.gjs-resizer-c { - position: absolute; - z-index: 9 -} - -.gjs-margin-v-el, -.gjs-padding-v-el, -.gjs-fixedmargin-v-el, -.gjs-fixedpadding-v-el { - opacity: .1; - filter: alpha(opacity=10); - position: absolute; - background-color: yellow -} - -.gjs-fixedmargin-v-el, -.gjs-fixedpadding-v-el { - opacity: .2; - filter: alpha(opacity=20) -} - -.gjs-padding-v-el, -.gjs-fixedpadding-v-el { - background-color: navy -} - -.gjs-resizer-h { - pointer-events: all; - position: absolute; - border: 3px solid #3b97e3; - width: 10px; - height: 10px; - background-color: #fff; - margin: -5px -} - -.gjs-resizer-h-tl { - top: 0; - left: 0; - cursor: nwse-resize -} - -.gjs-resizer-h-tr { - top: 0; - right: 0; - cursor: nesw-resize -} - -.gjs-resizer-h-tc { - top: 0; - margin: -5px auto; - left: 0; - right: 0; - cursor: ns-resize -} - -.gjs-resizer-h-cl { - left: 0; - margin: auto -5px; - top: 0; - bottom: 0; - cursor: ew-resize -} - -.gjs-resizer-h-cr { - margin: auto -5px; - top: 0; - bottom: 0; - right: 0; - cursor: ew-resize -} - -.gjs-resizer-h-bl { - bottom: 0; - left: 0; - cursor: nesw-resize -} - -.gjs-resizer-h-bc { - bottom: 0; - margin: -5px auto; - left: 0; - right: 0; - cursor: ns-resize -} - -.gjs-resizer-h-br { - bottom: 0; - right: 0; - cursor: nwse-resize -} - -.gjs-pn-panel .gjs-resizer-h { - background-color: rgba(0, 0, 0, 0.2); - border: none; - opacity: 0; - transition: opacity 0.25s -} - -.gjs-pn-panel .gjs-resizer-h:hover { - opacity: 1 -} - -.gjs-pn-panel .gjs-resizer-h-tc, -.gjs-pn-panel .gjs-resizer-h-bc { - margin: 0 auto; - width: 100% -} - -.gjs-pn-panel .gjs-resizer-h-cr, -.gjs-pn-panel .gjs-resizer-h-cl { - margin: auto 0; - height: 100% -} - -.gjs-resizing .gjs-highlighter, -.gjs-resizing .gjs-badge { - display: none !important -} - -.gjs-resizing-tl * { - cursor: nwse-resize !important -} - -.gjs-resizing-tr * { - cursor: nesw-resize !important -} - -.gjs-resizing-tc * { - cursor: ns-resize !important -} - -.gjs-resizing-cl * { - cursor: ew-resize !important -} - -.gjs-resizing-cr * { - cursor: ew-resize !important -} - -.gjs-resizing-bl * { - cursor: nesw-resize !important -} - -.gjs-resizing-bc * { - cursor: ns-resize !important -} - -.gjs-resizing-br * { - cursor: nwse-resize !important -} - -.btn-cl, -.gjs-mdl-dialog .gjs-mdl-btn-close, -.gjs-am-assets-cont #gjs-am-close { - opacity: .3; - filter: alpha(opacity=30); - font-size: 25px; - cursor: pointer -} - -.btn-cl:hover, -.gjs-mdl-dialog .gjs-mdl-btn-close:hover, -.gjs-am-assets-cont #gjs-am-close:hover { - opacity: .7; - filter: alpha(opacity=70) -} - -#commands.panel { - min-width: 35px; - height: 100%; - z-index: 3 -} - -#options.panel { - z-index: 4; - bottom: 0 -} - -#views.panel { - width: 16.5%; - font-weight: lighter; - color: #ddd; - right: 0; - top: 0; - z-index: 3; - height: 100%; - padding: 0 -} - -#views.panel .c { - height: 100% -} - -#commands.panel, -#options.panel { - width: 3.5%; - left: 0 -} - -#options .c { - display: table; - margin: 0 auto -} - -body.dragging, -body.dragging * { - cursor: move !important -} - -.dragged { - position: absolute; - opacity: .5; - filter: alpha(opacity=50); - z-index: 2000 -} - -ol.example li.placeholder { - position: relative -} - -ol.example li.placeholder:before { - position: absolute -} - -.no-dots, -.ui-resizable-handle { - border: none !important; - margin: 0 !important; - outline: none !important -} - -.gjs-com-dashed * { - outline: 1px dashed #888; - outline-offset: -2px; - box-sizing: border-box -} - -.gjs-cv-canvas .gjs-comp-selected { - outline: 3px solid #3b97e3 !important -} - -*.gjs-com-hover, -div.gjs-com-hover { - outline: 1px solid #3b97e3 -} - -*.gjs-com-hover-delete, -div.gjs-com-hover-delete { - outline: 2px solid #dd3636; - opacity: .5; - filter: alpha(opacity=50) -} - -*.gjs-com-hover-move, -div.gjs-com-hover-move { - outline: 3px solid #ffca6f -} - -.gjs-com-badge, -.gjs-com-badge-red, -.gjs-badge { - pointer-events: none; - background-color: #3b97e3; - color: #fff; - padding: 2px 5px; - position: absolute; - z-index: 1; - font-size: 12px; - outline: none; - display: none -} - -.gjs-com-badge-red { - background-color: #dd3636 -} - -.gjs-badge-warning { - background-color: #ffca6f -} - -.gjs-placeholder, -.gjs-com-placeholder, -.gjs-nv-placeholder { - position: absolute; - z-index: 10; - pointer-events: none; - display: none -} - -.gjs-placeholder, -.gjs-nv-placeholder { - border-style: solid !important; - border-color: #62c462; - outline: none; - box-sizing: border-box -} - -.gjs-placeholder-int, -.gjs-com-placeholder-int, -.gjs-nv-placeholder-int { - background-color: #62c462; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); - height: 100%; - width: 100%; - pointer-events: none; - padding: 1.5px; - outline: none -} - -.gjs-pn-panel { - display: inline-block; - padding: 5px; - position: absolute; - box-sizing: border-box; - text-align: center; - z-index: 3 -} - -.gjs-pn-panel#gjs-pn-commands, -.gjs-pn-panel#gjs-pn-options2 { - width: 85%; - left: 0; - top: 0; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) -} - -.gjs-pn-panel#gjs-pn-options { - right: 15%; - top: 0 -} - -.gjs-pn-panel#gjs-pn-options2 { - bottom: 150px; - height: auto -} - -.gjs-pn-panel .icon-undo, -.gjs-pn-panel .icon-redo { - font-size: 20px; - height: 30px; - width: 25px -} - -.gjs-pn-panel#gjs-pn-views { - border-bottom: 2px solid rgba(0, 0, 0, 0.3); - right: 0; - width: 15%; - z-index: 4 -} - -.gjs-pn-panel#gjs-pn-views-container { - height: 100%; - padding: 42px 0 0; - right: 0; - width: 15%; - overflow: auto; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) -} - -.gjs-pn-buttons { - align-items: center; - display: flex; - justify-content: center -} - -.gjs-pn-btn, -.gjs-btnt { - box-sizing: border-box; - height: 30px; - width: 30px; - line-height: 21px; - background-color: transparent; - border: none; - font-size: 18px; - margin-right: 5px; - border-radius: 2px; - cursor: pointer; - padding: 5px; - position: relative -} - -.gjs-pn-btn.gjs-pn-active, -.gjs-btnt.gjs-pn-active { - background-color: rgba(0, 0, 0, 0.15); - box-shadow: 0 0 3px rgba(0, 0, 0, 0.25) inset -} - -.gjs-pn-btn>.gjs-pn-arrow-rd, -.gjs-btnt>.gjs-pn-arrow-rd { - border-bottom: 5px solid rgba(255, 255, 255, 0.7); - border-left: 5px solid transparent; - bottom: 2px; - right: 2px; - position: absolute -} - -.gjs-pn-btn>.gjs-pn-buttons, -.gjs-btnt>.gjs-pn-buttons { - background-color: #444; - border-radius: 2px; - position: absolute; - display: none; - left: 50px; - top: 0; - padding: 5px -} - -.gjs-pn-btn>.gjs-pn-buttons.gjs-pn-visible, -.gjs-btnt>.gjs-pn-buttons.gjs-pn-visible { - display: block -} - -.gjs-pn-btn>.gjs-pn-buttons>.gjs-pn-arrow-l, -.gjs-btnt>.gjs-pn-buttons>.gjs-pn-arrow-l { - border-bottom: 5px solid transparent; - border-right: 5px solid #444; - border-top: 5px solid transparent; - left: -5px; - top: 15px; - position: absolute -} - -.gjs-nv-selected-parent { - border: 1px solid #ffca6f -} - -.gjs-nv-opac50 { - opacity: .5; - filter: alpha(opacity=50) -} - -.gjs-nv-navigator { - position: relative; - height: 100% -} - -.gjs-nv-navigator #gjs-nv-placeholder { - width: 100%; - position: absolute -} - -.gjs-nv-navigator #gjs-nv-placeholder #gjs-nv-plh-int { - height: 100%; - padding: 1px -} - -.gjs-nv-navigator #gjs-nv-placeholder #gjs-nv-plh-int.gjs-nv-insert { - background-color: #62c462 -} - -.gjs-nv-navigator .gjs-nv-item { - font-weight: lighter; - text-align: left; - position: relative; - background-color: rgba(0, 0, 0, 0.1) -} - -.gjs-nv-navigator .gjs-nv-item.gjs-nv-hide { - opacity: .55; - filter: alpha(opacity=55) -} - -.gjs-nv-navigator .gjs-nv-item #gjs-nv-counter { - font-size: 10px; - position: absolute; - right: 27px; - top: 9px -} - -.gjs-nv-navigator .gjs-nv-item #gjs-nv-btn-eye { - height: auto !important; - width: auto !important; - font-size: 13px; - left: 0; - top: 0; - padding: 7px 5px 7px 10px; - position: absolute; - cursor: pointer; - z-index: 1 -} - -.gjs-nv-item #gjs-nv-caret { - font-size: 7px; - width: 8px; - padding: 5px; - cursor: pointer; - opacity: .7; - filter: alpha(opacity=70) -} - -.gjs-nv-item #gjs-nv-caret:hover { - opacity: 1; - filter: alpha(opacity=100) -} - -.gjs-nv-title { - background-color: rgba(0, 0, 0, 0.1); - font-size: 11px; - letter-spacing: 1px; - padding: 3px 10px 5px 30px; - border-bottom: 1px solid rgba(0, 0, 0, 0.3); - border-top: 1px solid rgba(255, 255, 255, 0.1); - display: flex; - align-items: center -} - -.gjs-nv-item .gjs-nv-children .gjs-nv-title { - border-left: 1px solid rgba(5, 5, 5, 0.3) -} - -.gjs-nv-item>.gjs-nv-children { - margin-left: 7px; - display: none -} - -.gjs-nv-item.open>.gjs-nv-children { - display: block -} - -.gjs-nv-item>.gjs-nv-no-chld>#gjs-nv-caret::before { - content: '' -} - -.gjs-nv-no-chld>#gjs-nv-caret { - display: none -} - -.gjs-nv-item>#gjs-nv-move { - position: absolute; - cursor: move; - font-size: 12px; - right: 0; - top: 0; - padding: 7px 10px 7px 5px -} - -.gjs-nv-selected .gjs-nv-title { - background-color: rgba(255, 255, 255, 0.1) -} - -.gjs-nv-nav-item-edit { - visibility: hidden; - padding: 5px; - font-size: 10px; - opacity: .7; - filter: alpha(opacity=70) -} - -.gjs-nv-nav-item-edit:hover { - opacity: 1; - filter: alpha(opacity=100) -} - -.gjs-nv-title-c:hover .gjs-nv-nav-item-edit { - visibility: visible; - cursor: pointer -} - -.gjs-nav-comp-name { - padding: 5px; - box-sizing: content-box -} - -.btn.expand, -.gjs-nv-navigator .gjs-nv-item .expand#gjs-nv-btn-eye { - background-image: none -} - -.gjs-comp-image-placeholder { - display: block; - background-color: #f5f5f5; - color: #777; - height: 50px; - width: 50px; - line-height: 50px; - outline: 3px solid #ffca6f; - outline-offset: -3px; - text-align: center; - font-size: 16.66667px; - cursor: pointer -} - -.gjs-comp-image-placeholder.fa-picture-o::after { - content: "\f03e" -} - -.gjs-label { - line-height: 18px -} - -.gjs-field { - background-color: rgba(0, 0, 0, 0.3); - border: 1px solid rgba(0, 0, 0, 0.1); - box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1); - border-radius: 2px; - box-sizing: border-box; - padding: 0; - position: relative -} - -.gjs-field input, -.gjs-field select, -.gjs-field textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - color: rgba(255, 255, 255, 0.7); - border: none; - background-color: transparent; - box-sizing: border-box; - width: 100%; - position: relative; - padding: 3px 4px 4px; - z-index: 1 -} - -.gjs-field textarea { - resize: vertical -} - -.gjs-field select { - height: 20px; - padding-right: 12px -} - -.gjs-field option { - padding: 3px 0 -} - -.gjs-field .gjs-sel-arrow { - height: 100%; - width: 9px; - position: absolute; - right: 0; - top: 0; - z-index: 0 -} - -.gjs-field .gjs-d-s-arrow { - bottom: 7px; - border-top: 4px solid rgba(255, 255, 255, 0.7); - position: absolute; - height: 0; - width: 0; - border-left: 3px solid transparent; - border-right: 4px solid transparent; - cursor: pointer -} - -.gjs-field-color input { - padding-right: 22px; - box-sizing: border-box -} - -.gjs-field-colorp { - border-left: 1px solid rgba(0, 0, 0, 0.3); - box-sizing: border-box; - height: 100%; - padding: 2px; - position: absolute; - right: 0; - top: 0; - width: 22px; - z-index: 10 -} - -.gjs-field-colorp .gjs-checker-bg, -.gjs-field-colorp .gjs-field-colorp-c { - height: 100%; - width: 100%; - border-radius: 1px -} - -.gjs-field-colorp-c { - height: 100%; - position: relative; - width: 100% -} - -.gjs-field-color-picker { - background-color: #ddd; - cursor: pointer; - height: 100%; - width: 100%; - box-shadow: 0 0 1px rgba(0, 0, 0, 0.3); - border-radius: 1px; - position: absolute; - top: 0 -} - -.gjs-field-radio { - float: left; - overflow: hidden; - padding: 0; - width: auto -} - -.gjs-field-checkbox { - padding: 0; - width: auto !important -} - -.gjs-field-checkbox input { - display: none -} - -.gjs-field-checkbox input:checked+.gjs-chk-icon { - border-color: rgba(255, 255, 255, 0.5); - border-width: 0 2px 2px 0; - border-style: solid -} - -.gjs-radio-item { - float: left; - border-left: 1px solid rgba(0, 0, 0, 0.3) -} - -.gjs-radio-item:first-child { - border: none -} - -.gjs-radio-item:hover { - background: rgba(0, 0, 0, 0.3) -} - -.gjs-radio-item input { - display: none -} - -.gjs-radio-item input:checked+.gjs-radio-item-label { - background-color: rgba(255, 255, 255, 0.2) -} - -.gjs-radio-item-label { - cursor: pointer; - display: block; - padding: 5px -} - -.gjs-field-units { - position: absolute; - right: 0; - top: 0 -} - -.gjs-field-units select { - padding: 0 12px 0 0 -} - -.gjs-field-unit { - position: absolute; - right: 10px; - top: 3px; - font-size: 10px; - color: rgba(255, 255, 255, 0.7); - cursor: pointer -} - -.gjs-field-arrows { - z-index: 10; - cursor: ns-resize; - height: 100%; - position: absolute; - right: 0; - top: 0; - width: 9px -} - -.gjs-field-arrow-u, -.gjs-field-arrow-d { - position: absolute; - height: 0; - width: 0; - border-left: 3px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid rgba(255, 255, 255, 0.7); - bottom: 4px; - cursor: pointer -} - -.gjs-field-arrow-u { - border-bottom: 4px solid rgba(255, 255, 255, 0.7); - border-top: none; - top: 4px -} - -.gjs-field-select { - padding: 0 -} - -.gjs-field-range { - background-color: transparent; - border: none; - box-shadow: none; - padding: 0 -} - -.gjs-field-range input { - margin: 0 -} - -.gjs-field-range input::-moz-range-thumb { - height: 10px; - width: 10px; - border: 1px solid rgba(0, 0, 0, 0.3); - border-radius: 100%; - background-color: #ddd; - cursor: pointer -} - -.gjs-field-range input::-webkit-slider-thumb { - -webkit-appearance: none; - margin-top: -5px; - height: 10px; - width: 10px; - border: 1px solid rgba(0, 0, 0, 0.3); - border-radius: 100%; - background-color: #ddd; - cursor: pointer -} - -.gjs-field-range input::-ms-thumb { - height: 10px; - width: 10px; - border: 1px solid rgba(0, 0, 0, 0.3); - border-radius: 100%; - background-color: #ddd; - cursor: pointer -} - -.gjs-field-range input::-moz-range-track { - background-color: rgba(0, 0, 0, 0.3); - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 1px; - height: 2px -} - -.gjs-field-range input::-webkit-slider-runnable-track { - background-color: rgba(0, 0, 0, 0.3); - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 1px; - height: 2px -} - -.gjs-field-range input::-ms-track { - background-color: rgba(0, 0, 0, 0.3); - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 1px; - height: 2px -} - -.gjs-chk-icon { - -ms-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - transform: rotate(45deg); - box-sizing: border-box; - display: block; - height: 14px; - margin: 0 5px; - width: 6px; - cursor: pointer -} - -.gjs-add-trasp { - background: none; - border: none; - color: #ddd; - cursor: pointer; - font-size: 1em; - border-radius: 2px; - opacity: .75; - filter: alpha(opacity=75) -} - -.gjs-add-trasp:hover { - opacity: 1; - filter: alpha(opacity=100) -} - -.gjs-add-trasp:active { - background-color: rgba(0, 0, 0, 0.2) -} - -.gjs-devices-c { - display: flex; - align-items: center; - padding: 4px -} - -.gjs-devices-c .gjs-device-label { - flex-grow: 2; - font-size: 0.7em; - text-align: left; - margin-right: 10px -} - -.gjs-devices-c .gjs-select { - flex-grow: 20 -} - -.gjs-devices-c .gjs-add-trasp { - flex-grow: 1; - margin-left: 5px -} - -.gjs-category-open, -.gjs-sm-sector.gjs-sm-open, -.gjs-sm-open.gjs-clm-tags, -.gjs-block-category.gjs-open { - border-bottom: 1px solid rgba(0, 0, 0, 0.25) -} - -.gjs-category-title, -.gjs-sm-sector .gjs-sm-title, -.gjs-clm-tags .gjs-sm-title, -.gjs-block-category .gjs-title { - font-weight: lighter; - background-color: rgba(0, 0, 0, 0.1); - font-size: 13px; - letter-spacing: 1px; - padding: 9px 10px 9px 20px; - border-bottom: 1px solid rgba(0, 0, 0, 0.25); - text-align: left; - position: relative; - cursor: pointer -} - -.gjs-sm-clear { - font-size: 1rem; - line-height: 0; - cursor: pointer -} - -.gjs-sm-close-btn, -.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close, -.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close { - display: block; - font-size: 23px; - position: absolute; - cursor: pointer; - right: 5px; - top: 0; - opacity: .2; - filter: alpha(opacity=20) -} - -.gjs-sm-close-btn:hover, -.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close:hover, -.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close:hover { - opacity: .7; - filter: alpha(opacity=70) -} - -.gjs-sm-header { - font-size: 11px; - font-weight: lighter; - padding: 10px -} - -.gjs-sm-sector, -.gjs-clm-tags { - clear: both; - font-weight: lighter; - text-align: left -} - -.gjs-sm-sector #gjs-sm-caret, -.gjs-clm-tags #gjs-sm-caret { - padding-right: 5px; - font-size: 11px -} - -.gjs-sm-sector .gjs-sm-label, -.gjs-clm-tags .gjs-sm-label { - margin: 5px 5px 2px 0 -} - -.gjs-sm-sector .gjs-sm-field, -.gjs-clm-tags .gjs-sm-field, -.gjs-sm-sector .gjs-clm-field, -.gjs-clm-tags .gjs-clm-field { - width: 100%; - position: relative -} - -.gjs-sm-sector .gjs-sm-field input, -.gjs-clm-tags .gjs-sm-field input, -.gjs-sm-sector .gjs-clm-field input, -.gjs-clm-tags .gjs-clm-field input, -.gjs-sm-sector .gjs-sm-field select, -.gjs-clm-tags .gjs-sm-field select, -.gjs-sm-sector .gjs-clm-field select, -.gjs-clm-tags .gjs-clm-field select { - background-color: transparent; - color: rgba(255, 255, 255, 0.7); - border: none; - width: 100% -} - -.gjs-sm-sector .gjs-sm-field input, -.gjs-clm-tags .gjs-sm-field input, -.gjs-sm-sector .gjs-clm-field input, -.gjs-clm-tags .gjs-clm-field input { - box-sizing: border-box -} - -.gjs-sm-sector .gjs-sm-field select, -.gjs-clm-tags .gjs-sm-field select, -.gjs-sm-sector .gjs-clm-field select, -.gjs-clm-tags .gjs-clm-field select { - position: relative; - z-index: 1; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none -} - -.gjs-sm-sector .gjs-sm-field select::-ms-expand, -.gjs-clm-tags .gjs-sm-field select::-ms-expand, -.gjs-sm-sector .gjs-clm-field select::-ms-expand, -.gjs-clm-tags .gjs-clm-field select::-ms-expand { - display: none -} - -.gjs-sm-sector .gjs-sm-field select:-moz-focusring, -.gjs-clm-tags .gjs-sm-field select:-moz-focusring, -.gjs-sm-sector .gjs-clm-field select:-moz-focusring, -.gjs-clm-tags .gjs-clm-field select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 rgba(255, 255, 255, 0.7) -} - -.gjs-sm-sector .gjs-sm-field input:focus, -.gjs-clm-tags .gjs-sm-field input:focus, -.gjs-sm-sector .gjs-clm-field input:focus, -.gjs-clm-tags .gjs-clm-field input:focus, -.gjs-sm-sector .gjs-sm-field select:focus, -.gjs-clm-tags .gjs-sm-field select:focus, -.gjs-sm-sector .gjs-clm-field select:focus, -.gjs-clm-tags .gjs-clm-field select:focus { - outline: none -} - -.gjs-sm-sector .gjs-sm-field .gjs-sm-unit, -.gjs-clm-tags .gjs-sm-field .gjs-sm-unit, -.gjs-sm-sector .gjs-clm-field .gjs-sm-unit, -.gjs-clm-tags .gjs-clm-field .gjs-sm-unit { - position: absolute; - right: 10px; - top: 3px; - font-size: 10px; - color: rgba(255, 255, 255, 0.7); - cursor: pointer -} - -.gjs-sm-sector .gjs-sm-field .gjs-clm-sel-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-clm-sel-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-clm-sel-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-clm-sel-arrow, -.gjs-sm-sector .gjs-sm-field .gjs-sm-int-arrows, -.gjs-clm-tags .gjs-sm-field .gjs-sm-int-arrows, -.gjs-sm-sector .gjs-clm-field .gjs-sm-int-arrows, -.gjs-clm-tags .gjs-clm-field .gjs-sm-int-arrows, -.gjs-sm-sector .gjs-sm-field .gjs-sm-sel-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-sel-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-sel-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-sel-arrow { - height: 100%; - width: 9px; - position: absolute; - right: 0; - top: 0; - cursor: ns-resize -} - -.gjs-sm-sector .gjs-sm-field .gjs-sm-sel-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-sel-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-sel-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-sel-arrow { - cursor: pointer -} - -.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow, -.gjs-sm-sector .gjs-sm-field .gjs-sm-d-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-d-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-d-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-d-arrow, -.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow, -.gjs-sm-sector .gjs-sm-field .gjs-sm-u-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-u-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-u-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-u-arrow { - position: absolute; - height: 0; - width: 0; - border-left: 3px solid transparent; - border-right: 4px solid transparent; - cursor: pointer -} - -.gjs-sm-sector .gjs-sm-field .gjs-sm-u-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-u-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-u-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-u-arrow { - border-bottom: 4px solid rgba(255, 255, 255, 0.7); - top: 4px -} - -.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow, -.gjs-sm-sector .gjs-sm-field .gjs-sm-d-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-d-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-d-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-d-arrow, -.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow { - border-top: 4px solid rgba(255, 255, 255, 0.7); - bottom: 4px -} - -.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow, -.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow, -.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow, -.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow, -.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow { - bottom: 7px -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-color, -.gjs-clm-tags .gjs-sm-field.gjs-sm-color, -.gjs-sm-sector .gjs-sm-color.gjs-clm-field, -.gjs-clm-tags .gjs-sm-color.gjs-clm-field, -.gjs-sm-sector .gjs-sm-field.gjs-sm-input, -.gjs-clm-tags .gjs-sm-field.gjs-sm-input, -.gjs-sm-sector .gjs-sm-input.gjs-clm-field, -.gjs-clm-tags .gjs-sm-input.gjs-clm-field, -.gjs-sm-sector .gjs-sm-field.gjs-sm-integer, -.gjs-clm-tags .gjs-sm-field.gjs-sm-integer, -.gjs-sm-sector .gjs-sm-integer.gjs-clm-field, -.gjs-clm-tags .gjs-sm-integer.gjs-clm-field, -.gjs-sm-sector .gjs-sm-field.gjs-sm-list, -.gjs-clm-tags .gjs-sm-field.gjs-sm-list, -.gjs-sm-sector .gjs-sm-list.gjs-clm-field, -.gjs-clm-tags .gjs-sm-list.gjs-clm-field, -.gjs-sm-sector .gjs-sm-field.gjs-sm-select, -.gjs-clm-tags .gjs-sm-field.gjs-sm-select, -.gjs-sm-sector .gjs-sm-select.gjs-clm-field, -.gjs-clm-tags .gjs-sm-select.gjs-clm-field, -.gjs-sm-sector .gjs-clm-select, -.gjs-clm-tags .gjs-clm-select { - background-color: rgba(0, 0, 0, 0.3); - border: 1px solid rgba(0, 0, 0, 0.1); - box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1); - color: rgba(255, 255, 255, 0.7); - border-radius: 2px; - box-sizing: border-box; - padding: 0 5px -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-composite, -.gjs-clm-tags .gjs-sm-field.gjs-sm-composite, -.gjs-sm-sector .gjs-sm-composite.gjs-clm-field, -.gjs-clm-tags .gjs-sm-composite.gjs-clm-field { - border-radius: 2px -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-select, -.gjs-clm-tags .gjs-sm-field.gjs-sm-select, -.gjs-sm-sector .gjs-sm-select.gjs-clm-field, -.gjs-clm-tags .gjs-sm-select.gjs-clm-field, -.gjs-sm-sector .gjs-clm-select, -.gjs-clm-tags .gjs-clm-select { - padding: 0 -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-select select, -.gjs-clm-tags .gjs-sm-field.gjs-sm-select select, -.gjs-sm-sector .gjs-sm-select.gjs-clm-field select, -.gjs-clm-tags .gjs-sm-select.gjs-clm-field select, -.gjs-sm-sector .gjs-clm-select select, -.gjs-clm-tags .gjs-clm-select select { - height: 20px -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-select option, -.gjs-clm-tags .gjs-sm-field.gjs-sm-select option, -.gjs-sm-sector .gjs-sm-select.gjs-clm-field option, -.gjs-clm-tags .gjs-sm-select.gjs-clm-field option, -.gjs-sm-sector .gjs-clm-select option, -.gjs-clm-tags .gjs-clm-select option { - padding: 3px 0 -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-composite, -.gjs-clm-tags .gjs-sm-field.gjs-sm-composite, -.gjs-sm-sector .gjs-sm-composite.gjs-clm-field, -.gjs-clm-tags .gjs-sm-composite.gjs-clm-field { - background-color: rgba(0, 0, 0, 0.1); - border: 1px solid rgba(0, 0, 0, 0.25) -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-list, -.gjs-clm-tags .gjs-sm-field.gjs-sm-list, -.gjs-sm-sector .gjs-sm-list.gjs-clm-field, -.gjs-clm-tags .gjs-sm-list.gjs-clm-field { - width: auto; - padding: 0; - overflow: hidden; - float: left -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-list input, -.gjs-clm-tags .gjs-sm-field.gjs-sm-list input, -.gjs-sm-sector .gjs-sm-list.gjs-clm-field input, -.gjs-clm-tags .gjs-sm-list.gjs-clm-field input { - display: none -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-list label, -.gjs-clm-tags .gjs-sm-field.gjs-sm-list label, -.gjs-sm-sector .gjs-sm-list.gjs-clm-field label, -.gjs-clm-tags .gjs-sm-list.gjs-clm-field label { - cursor: pointer; - padding: 5px; - display: block -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-list .gjs-sm-radio:checked+label, -.gjs-clm-tags .gjs-sm-field.gjs-sm-list .gjs-sm-radio:checked+label, -.gjs-sm-sector .gjs-sm-list.gjs-clm-field .gjs-sm-radio:checked+label, -.gjs-clm-tags .gjs-sm-list.gjs-clm-field .gjs-sm-radio:checked+label { - background-color: rgba(255, 255, 255, 0.2) -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-list .gjs-sm-icon, -.gjs-clm-tags .gjs-sm-field.gjs-sm-list .gjs-sm-icon, -.gjs-sm-sector .gjs-sm-list.gjs-clm-field .gjs-sm-icon, -.gjs-clm-tags .gjs-sm-list.gjs-clm-field .gjs-sm-icon { - background-repeat: no-repeat; - background-position: center; - text-shadow: none; - line-height: normal -} - -.gjs-sm-sector .gjs-sm-field.gjs-sm-integer select, -.gjs-clm-tags .gjs-sm-field.gjs-sm-integer select, -.gjs-sm-sector .gjs-sm-integer.gjs-clm-field select, -.gjs-clm-tags .gjs-sm-integer.gjs-clm-field select { - width: auto; - padding: 0 -} - -.gjs-sm-sector .gjs-sm-list .gjs-sm-el, -.gjs-clm-tags .gjs-sm-list .gjs-sm-el { - float: left; - border-left: 1px solid rgba(0, 0, 0, 0.3) -} - -.gjs-sm-sector .gjs-sm-list .gjs-sm-el:first-child, -.gjs-clm-tags .gjs-sm-list .gjs-sm-el:first-child { - border: none -} - -.gjs-sm-sector .gjs-sm-list .gjs-sm-el:hover, -.gjs-clm-tags .gjs-sm-list .gjs-sm-el:hover { - background: rgba(0, 0, 0, 0.3) -} - -.gjs-sm-sector .gjs-sm-properties, -.gjs-clm-tags .gjs-sm-properties { - font-size: 11px; - padding: 10px 5px -} - -.gjs-sm-sector .gjs-sm-property, -.gjs-clm-tags .gjs-sm-property { - box-sizing: border-box; - float: left; - width: 80%; - margin-bottom: 5px; - padding: 0 5px -} - -.gjs-sm-sector .gjs-sm-property.gjs-sm-composite, -.gjs-clm-tags .gjs-sm-property.gjs-sm-composite, -.gjs-sm-sector .gjs-sm-property.gjs-sm-file, -.gjs-clm-tags .gjs-sm-property.gjs-sm-file, -.gjs-sm-sector .gjs-sm-property.gjs-sm-list, -.gjs-clm-tags .gjs-sm-property.gjs-sm-list, -.gjs-sm-sector .gjs-sm-property.gjs-sm-stack, -.gjs-clm-tags .gjs-sm-property.gjs-sm-stack { - width: 100% -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-btn, -.gjs-clm-tags .gjs-sm-property .gjs-sm-btn { - background-color: rgba(33, 33, 33, 0.3); - border-radius: 2px; - box-shadow: 1px 1px 0 rgba(5, 5, 5, 0.3), 1px 1px 0 rgba(43, 43, 43, 0.3) inset; - padding: 5px; - position: relative; - text-align: center; - height: auto; - width: 100%; - cursor: pointer; - color: #ddd; - box-sizing: border-box; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - border: none; - opacity: .85; - filter: alpha(opacity=85) -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-btn-c, -.gjs-clm-tags .gjs-sm-property .gjs-sm-btn-c { - box-sizing: border-box; - float: left; - width: 100%; - padding: 0 5px -} - -.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box, -.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box { - background-color: rgba(255, 255, 255, 0.05); - border-radius: 2px; - margin-top: 5px; - position: relative; - overflow: hidden -} - -.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box.gjs-sm-show, -.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box.gjs-sm-show { - border: 1px solid rgba(252, 252, 252, 0.05); - padding: 3px 5px -} - -.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close, -.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close { - display: block -} - -.gjs-sm-sector .gjs-sm-property.gjs-sm-file .gjs-sm-show #gjs-sm-preview-file, -.gjs-clm-tags .gjs-sm-property.gjs-sm-file .gjs-sm-show #gjs-sm-preview-file { - height: 50px -} - -.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-file, -.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-file { - background-size: auto 100%; - background-repeat: no-repeat; - background-position: center center -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layers, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layers { - margin-top: 5px; - min-height: 30px -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer { - background-color: rgba(255, 255, 255, 0.055); - border-radius: 2px; - box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2), 1px 1px 0 rgba(255, 255, 255, 0.055) inset; - margin: 2px; - padding: 7px; - position: relative; - cursor: pointer -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box { - height: 15px; - position: absolute; - right: 27px; - top: 6px; - width: 15px -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-preview, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-preview, -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-preview-box, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-preview-box { - border-radius: 2px -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer { - display: block; - font-size: 23px; - position: absolute; - cursor: pointer; - right: 5px; - top: 0; - opacity: .5; - filter: alpha(opacity=50) -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer:hover, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer:hover { - opacity: .8; - filter: alpha(opacity=80) -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box #gjs-sm-preview, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box #gjs-sm-preview { - background-color: white; - height: 100%; - width: 100%; - background-size: cover !important -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer.gjs-sm-active, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer.gjs-sm-active { - background-color: rgba(255, 255, 255, 0.12) -} - -.gjs-sm-sector .gjs-sm-property .gjs-sm-layer.gjs-sm-no-preview #gjs-sm-preview-box, -.gjs-clm-tags .gjs-sm-property .gjs-sm-layer.gjs-sm-no-preview #gjs-sm-preview-box { - display: none -} - -.gjs-sm-sector #gjs-sm-text-shadow #gjs-sm-preview::after, -.gjs-clm-tags #gjs-sm-text-shadow #gjs-sm-preview::after { - color: #000; - content: "T"; - font-weight: 900; - line-height: 17px; - padding: 0 4px -} - -.gjs-sm-sector .gjs-sm-stack .gjs-sm-properties, -.gjs-clm-tags .gjs-sm-stack .gjs-sm-properties { - padding-top: 5px -} - -.gjs-sm-sector .gjs-sm-stack #gjs-sm-add, -.gjs-clm-tags .gjs-sm-stack #gjs-sm-add { - background: none; - border: none; - cursor: pointer; - font-size: 22px; - line-height: 10px; - position: absolute; - right: 0; - top: -20px; - opacity: 0.75 -} - -.gjs-sm-sector .gjs-sm-stack #gjs-sm-add:hover, -.gjs-clm-tags .gjs-sm-stack #gjs-sm-add:hover { - opacity: 1; - filter: alpha(opacity=100) -} - -.gjs-sm-sector .gjs-sm-colorp-c, -.gjs-clm-tags .gjs-sm-colorp-c { - height: 100%; - width: 20px; - position: absolute; - right: 0; - top: 0; - box-sizing: border-box; - border-radius: 2px; - padding: 2px -} - -.gjs-sm-sector .gjs-sm-colorp-c .gjs-checker-bg, -.gjs-clm-tags .gjs-sm-colorp-c .gjs-checker-bg, -.gjs-sm-sector .gjs-sm-colorp-c .gjs-field-colorp-c, -.gjs-clm-tags .gjs-sm-colorp-c .gjs-field-colorp-c { - height: 100%; - width: 100%; - border-radius: 1px -} - -.gjs-sm-sector .gjs-sm-color-picker, -.gjs-clm-tags .gjs-sm-color-picker { - background-color: #ddd; - cursor: pointer; - height: 16px; - width: 100%; - margin-top: -16px; - box-shadow: 0 0 1px rgba(0, 0, 0, 0.3); - border-radius: 1px -} - -.gjs-sm-sector .gjs-sm-btn-upload #gjs-sm-upload, -.gjs-clm-tags .gjs-sm-btn-upload #gjs-sm-upload { - left: 0; - top: 0; - position: absolute; - width: 100%; - opacity: 0; - cursor: pointer -} - -.gjs-sm-sector .gjs-sm-btn-upload #gjs-sm-label, -.gjs-clm-tags .gjs-sm-btn-upload #gjs-sm-label { - padding: 2px 0 -} - -.gjs-sm-layer>#gjs-sm-move { - opacity: .7; - filter: alpha(opacity=70); - cursor: move; - font-size: 12px; - float: left; - margin: 0 5px 0 0 -} - -.gjs-sm-layer>#gjs-sm-move:hover { - opacity: .9; - filter: alpha(opacity=90) -} - -.gjs-blocks-c { - display: flex; - flex-wrap: wrap; - justify-content: flex-start -} - -.gjs-block-category { - width: 100% -} - -.gjs-block-category .gjs-caret-icon { - margin-right: 5px -} - -.gjs-block { - -moz-user-select: none; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - width: 45%; - padding: 1em; - box-sizing: border-box; - height: 90px; - cursor: all-scroll; - font-size: 11px; - font-weight: lighter; - display: flex; - flex-direction: column; - justify-content: flex-end; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 3px; - margin: 10px 2.5% 5px; - box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.15); - transition: all 0.2s ease 0s; - transition-property: box-shadow, color -} - -.gjs-block:hover { - box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.15) -} - -.gjs-block-svg { - width: 61% -} - -.gjs-block.fa { - font-size: 2em; - line-height: 2em; - padding: 11px -} - -.gjs-block-label { - line-height: normal; - font-size: 0.65rem; - font-weight: normal; - font-family: Helvetica, sans-serif -} - -.gjs-block.gjs-bdrag { - width: auto; - padding: 0 -} - -.gjs-clm-tags { - font-size: 11px; - padding: 10px 5px -} - -.gjs-clm-tags #gjs-clm-label, -.gjs-clm-tags #gjs-clm-sel { - padding: 7px 0; - float: left -} - -.gjs-clm-tags #gjs-clm-sel { - font-style: italic; - margin-left: 5px -} - -.gjs-clm-tags #gjs-clm-status-c { - float: right -} - -.gjs-clm-tags #gjs-clm-tags-field { - clear: both; - padding: 5px; - margin-bottom: 5px -} - -.gjs-clm-tags #gjs-clm-tags-c { - display: inline-block; - vertical-align: top -} - -.gjs-clm-tags #gjs-clm-add-tag { - background-color: rgba(255, 255, 255, 0.15); - border-radius: 2px; - padding: 5px 6px; - box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2) inset; - border: 1px solid rgba(0, 0, 0, 0.15); - cursor: pointer -} - -.gjs-clm-tags #gjs-clm-new { - color: #ddd; - padding: 5px 6px; - display: none -} - -.gjs-clm-tags .gjs-clm-tag { - background-color: #804f7b; - border: 1px solid #5a3857; - box-shadow: 1px 1px #9c6196 inset; - text-shadow: 1px 1px #6a4166; - display: inline-block; - border-radius: 3px; - margin: 0 3px 3px 0; - padding: 4px; - cursor: default -} - -.gjs-clm-tags #gjs-clm-close { - font-size: 20px; - line-height: 0; - cursor: pointer; - color: rgba(255, 255, 255, 0.9) -} - -.gjs-clm-tags #gjs-clm-close:hover { - opacity: .7; - filter: alpha(opacity=70) -} - -.gjs-clm-tags #gjs-clm-checkbox { - color: rgba(255, 255, 255, 0.9); - vertical-align: middle; - cursor: pointer; - font-size: 9px -} - -.gjs-clm-tags #gjs-clm-tag-label { - cursor: text -} - -.gjs-clm-tags #gjs-clm-tag-label input { - width: auto; - padding: 0 4px -} - -.gjs-mdl-backlayer { - background-color: #000; - position: absolute; - top: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - opacity: .5; - filter: alpha(opacity=50) -} - -.gjs-mdl-container { - font-family: Helvetica, sans-serif; - position: absolute; - top: 0; - left: 0; - z-index: 10; - width: 100%; - height: 100% -} - -.gjs-mdl-dialog { - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.05); - animation: gjs-slide-down 0.215s; - margin: 30px auto 0; - max-width: 850px; - width: 90%; - border-radius: 3px; - font-weight: lighter; - position: relative; - z-index: 2 -} - -.gjs-mdl-dialog .gjs-mdl-btn-close { - position: absolute; - right: 15px; - top: 5px -} - -.gjs-mdl-active .gjs-mdl-dialog { - animation: gjs-mdl-slide-down 0.216s -} - -.gjs-mdl-header, -.gjs-mdl-content { - padding: 10px 15px; - clear: both -} - -.gjs-mdl-header { - position: relative; - border-bottom: 1px solid rgba(0, 0, 0, 0.3); - padding: 15px 15px 7px -} - -.gjs-mdl-content { - border-top: 1px solid rgba(255, 255, 255, 0.1) -} - -.gjs-export-dl::after { - content: ""; - clear: both; - display: block; - margin-bottom: 10px -} - -.gjs-am-assets { - height: 290px; - overflow: auto; - clear: both -} - -.gjs-am-assets-header { - padding: 5px -} - -.gjs-am-add-asset .gjs-am-add-field { - width: 70%; - float: left -} - -.gjs-am-add-asset button { - width: 25%; - float: right -} - -.gjs-am-add-field input { - padding: 6px -} - -.gjs-am-assets-cont { - background-color: rgba(0, 0, 0, 0.1); - border-radius: 3px; - box-sizing: border-box; - padding: 10px; - width: 45%; - float: right; - height: 325px; - overflow: hidden -} - -.gjs-am-assets-cont #gjs-am-preview-cont { - position: relative; - height: 70px; - width: 30%; - background-color: #444; - border-radius: 2px; - float: left; - overflow: hidden -} - -.gjs-am-assets-cont #gjs-am-preview { - position: absolute; - background-position: center center; - background-size: cover; - background-repeat: no-repeat; - height: 100%; - width: 100%; - z-index: 1 -} - -.gjs-am-assets-cont #gjs-am-preview-bg { - position: absolute; - height: 100%; - width: 100%; - opacity: .5; - filter: alpha(opacity=50); - z-index: 0 -} - -.gjs-am-assets-cont .gjs-am-highlight { - background-color: rgba(255, 255, 255, 0.1) -} - -.gjs-am-assets-cont .gjs-am-asset { - border-bottom: 1px solid rgba(0, 0, 0, 0.3); - padding: 5px; - cursor: pointer; - position: relative -} - -.gjs-am-assets-cont .gjs-am-asset:hover #gjs-am-close { - display: block -} - -.gjs-am-assets-cont #gjs-am-close { - position: absolute; - right: 5px; - top: 0; - display: none -} - -.gjs-am-assets-cont #gjs-am-meta { - width: 70%; - float: left; - font-size: 12px; - padding: 5px 0 0 5px; - box-sizing: border-box -} - -.gjs-am-assets-cont #gjs-am-meta>div { - margin-bottom: 5px -} - -.gjs-am-assets-cont #gjs-am-meta #gjs-am-dimensions { - font-size: 10px; - opacity: .5; - filter: alpha(opacity=50) -} - -.gjs-am-file-uploader { - width: 55%; - float: left -} - -.gjs-am-file-uploader>form { - background-color: rgba(0, 0, 0, 0.1); - border: 2px dashed; - border-radius: 3px; - position: relative; - text-align: center; - margin-bottom: 15px -} - -.gjs-am-file-uploader>form.gjs-am-hover { - border: 2px solid #62c462; - color: #75cb75 -} - -.gjs-am-file-uploader>form.gjs-am-disabled { - border-color: red -} - -.gjs-am-file-uploader>form #gjs-am-uploadFile { - opacity: 0; - filter: alpha(opacity=0); - padding: 150px 10px; - width: 100%; - box-sizing: border-box -} - -.gjs-am-file-uploader #gjs-am-title { - position: absolute; - padding: 150px 10px; - width: 100% -} - -.gjs-cm-editor-c { - float: left; - box-sizing: border-box; - width: 50% -} - -.gjs-cm-editor-c .CodeMirror { - height: 450px -} - -.gjs-cm-editor { - font-size: 12px -} - -.gjs-cm-editor#gjs-cm-htmlmixed { - padding-right: 10px; - border-right: 1px solid rgba(0, 0, 0, 0.3) -} - -.gjs-cm-editor#gjs-cm-htmlmixed #gjs-cm-title { - color: #a97d44 -} - -.gjs-cm-editor#gjs-cm-css { - padding-left: 10px; - border-left: 1px solid rgba(255, 255, 255, 0.1) -} - -.gjs-cm-editor#gjs-cm-css #gjs-cm-title { - color: #ddca7e -} - -.gjs-cm-editor #gjs-cm-title { - background-color: rgba(0, 0, 0, 0.3); - font-size: 12px; - padding: 5px 10px 3px; - text-align: right -} - -#gjs-rte-toolbar { - display: none; - border: 1px solid rgba(0, 0, 0, 0.3); - position: absolute; - border-radius: 3px; - z-index: 10 -} - -#gjs-rte-toolbar .gjs-rte-btn { - display: inline-block; - padding: 5px; - min-width: 25px; - border-right: 1px solid rgba(0, 0, 0, 0.3); - text-align: center; - cursor: pointer; - outline: none -} - -#gjs-rte-toolbar .gjs-rte-btn:last-child { - border-right: none -} - -#gjs-rte-toolbar .gjs-rte-btn.btn-info { - background-color: rgba(0, 0, 0, 0.3) -} - -#gjs-rte-toolbar .gjs-rte-btn:hover { - background-color: rgba(255, 255, 255, 0.1) -} - -#gjs-rte-toolbar select { - height: 16px -} - -.sp-hue, -.sp-slider { - cursor: row-resize -} - -.sp-color, -.sp-dragger { - cursor: crosshair -} - -.sp-alpha-inner, -.sp-alpha-handle { - cursor: col-resize -} - -.sp-hue { - left: 90% -} - -.sp-color { - right: 15% -} - -.sp-container { - border: 1px solid rgba(0, 0, 0, 0.3); - box-shadow: 0 0 7px rgba(0, 0, 0, 0.3); - border-radius: 3px -} - -.sp-picker-container { - border: none -} - -.colpick_dark .colpick_color { - outline: 1px solid rgba(0, 0, 0, 0.3) -} - -.sp-cancel, -.sp-cancel:hover { - bottom: -8px; - color: #777 !important; - font-size: 25px; - left: 0; - position: absolute; - text-decoration: none -} - -.sp-alpha-handle { - background-color: #ccc; - border: 1px solid #555; - width: 4px -} - -.sp-color, -.sp-hue { - border: 1px solid #333333 -} - -.sp-slider { - background-color: #ccc; - border: 1px solid #555; - height: 3px; - left: -4px; - width: 22px -} - -.sp-dragger { - background: transparent; - box-shadow: 0 0 0 1px #111 -} - -.sp-button-container { - float: none; - width: 100%; - position: relative; - text-align: right -} - -.sp-container button, -.sp-container button:hover, -.sp-container button:active { - background: rgba(0, 0, 0, 0.3); - border-color: rgba(0, 0, 0, 0.3); - color: #ddd; - text-shadow: none; - box-shadow: none; - padding: 3px 5px -} - -.sp-palette-container { - border: none; - float: none; - margin: 0; - padding: 5px 10px 0 -} - -.sp-palette .sp-thumb-el, -.sp-palette .sp-thumb-el:hover { - border: 1px solid rgba(0, 0, 0, 0.9) -} - -.sp-palette .sp-thumb-el:hover, -.sp-palette .sp-thumb-el.sp-thumb-active { - border-color: rgba(0, 0, 0, 0.9) -} - -.gjs-hidden { - display: none -} - -@keyframes gjs-slide-down { - 0% { - transform: translate(0, -3rem); - opacity: 0 - } - 100% { - transform: translate(0, 0); - opacity: 1 - } -} - -@keyframes gjs-slide-up { - 0% { - transform: translate(0, 0); - opacity: 1 - } - 100% { - transform: translate(0, -3rem); - opacity: 0 - } -} diff --git a/client/static/grapes.min.js b/client/static/grapes.min.js deleted file mode 100644 index 9148b2b..0000000 --- a/client/static/grapes.min.js +++ /dev/null @@ -1,21169 +0,0 @@ -/*! grapesjs - 0.9.8 */ ! function(t, e) { - "object" == typeof exports && "object" == typeof module ? module.exports = e(require("jQuery")) : "function" == typeof define && define.amd ? define(["jQuery"], e) : "object" == typeof exports ? exports.grapesjs = e(require("jQuery")) : t.grapesjs = e(t.jQuery) -}(this, function(t) { - return function(t) { - function e(n) { - if (i[n]) return i[n].exports; - var r = i[n] = { - i: n, - l: !1, - exports: {} - }; - return t[n].call(r.exports, r, r.exports, e), r.l = !0, r.exports - } - var i = {}; - return e.m = t, e.c = i, e.i = function(t) { - return t - }, e.d = function(t, i, n) { - e.o(t, i) || Object.defineProperty(t, i, { - configurable: !1, - enumerable: !0, - get: n - }) - }, e.n = function(t) { - var i = t && t.__esModule ? function() { - return t.default - } : function() { - return t - }; - return e.d(i, "a", i), i - }, e.o = function(t, e) { - return Object.prototype.hasOwnProperty.call(t, e) - }, e.p = "", e(e.s = 133) - }([function(t, e, i) { - (function(n) { - var r, s; - ! function(o) { - var a = "object" == typeof self && self.self === self && self || "object" == typeof n && n.global === n && n; - r = [i(1), i(11), e], void 0 !== (s = function(t, e, i) { - a.Backbone = o(a, i, t, e) - }.apply(e, r)) && (t.exports = s) - }(function(t, e, i, n) { - var r = t.Backbone, - s = Array.prototype.slice; - e.VERSION = "1.3.3", e.$ = n, e.noConflict = function() { - return t.Backbone = r, this - }, e.emulateHTTP = !1, e.emulateJSON = !1; - var o = function(t, e, n) { - switch (t) { - case 1: - return function() { - return i[e](this[n]) - }; - case 2: - return function(t) { - return i[e](this[n], t) - }; - case 3: - return function(t, r) { - return i[e](this[n], l(t, this), r) - }; - case 4: - return function(t, r, s) { - return i[e](this[n], l(t, this), r, s) - }; - default: - return function() { - var t = s.call(arguments); - return t.unshift(this[n]), i[e].apply(i, t) - } - } - }, - a = function(t, e, n) { - i.each(e, function(e, r) { - i[r] && (t.prototype[r] = o(e, r, n)) - }) - }, - l = function(t, e) { - return i.isFunction(t) ? t : i.isObject(t) && !e._isModel(t) ? c(t) : i.isString(t) ? function(e) { - return e.get(t) - } : t - }, - c = function(t) { - var e = i.matches(t); - return function(t) { - return e(t.attributes) - } - }, - u = e.Events = {}, - h = /\s+/, - d = function(t, e, n, r, s) { - var o, a = 0; - if (n && "object" == typeof n) { - void 0 !== r && "context" in s && void 0 === s.context && (s.context = r); - for (o = i.keys(n); a < o.length; a++) e = d(t, e, o[a], n[o[a]], s) - } else if (n && h.test(n)) - for (o = n.split(h); a < o.length; a++) e = t(e, o[a], r, s); - else e = t(e, n, r, s); - return e - }; - u.on = function(t, e, i) { - return f(this, t, e, i) - }; - var f = function(t, e, i, n, r) { - if (t._events = d(p, t._events || {}, e, i, { - context: n, - ctx: t, - listening: r - }), r) { - (t._listeners || (t._listeners = {}))[r.id] = r - } - return t - }; - u.listenTo = function(t, e, n) { - if (!t) return this; - var r = t._listenId || (t._listenId = i.uniqueId("l")), - s = this._listeningTo || (this._listeningTo = {}), - o = s[r]; - if (!o) { - var a = this._listenId || (this._listenId = i.uniqueId("l")); - o = s[r] = { - obj: t, - objId: r, - id: a, - listeningTo: s, - count: 0 - } - } - return f(t, e, n, this, o), this - }; - var p = function(t, e, i, n) { - if (i) { - var r = t[e] || (t[e] = []), - s = n.context, - o = n.ctx, - a = n.listening; - a && a.count++, r.push({ - callback: i, - context: s, - ctx: s || o, - listening: a - }) - } - return t - }; - u.off = function(t, e, i) { - return this._events ? (this._events = d(g, this._events, t, e, { - context: i, - listeners: this._listeners - }), this) : this - }, u.stopListening = function(t, e, n) { - var r = this._listeningTo; - if (!r) return this; - for (var s = t ? [t._listenId] : i.keys(r), o = 0; o < s.length; o++) { - var a = r[s[o]]; - if (!a) break; - a.obj.off(e, n, this) - } - return this - }; - var g = function(t, e, n, r) { - if (t) { - var s, o = 0, - a = r.context, - l = r.listeners; - if (e || n || a) { - for (var c = e ? [e] : i.keys(t); o < c.length; o++) { - e = c[o]; - var u = t[e]; - if (!u) break; - for (var h = [], d = 0; d < u.length; d++) { - var f = u[d]; - n && n !== f.callback && n !== f.callback._callback || a && a !== f.context ? h.push(f) : (s = f.listening) && 0 == --s.count && (delete l[s.id], delete s.listeningTo[s.objId]) - } - h.length ? t[e] = h : delete t[e] - } - return t - } - for (var p = i.keys(l); o < p.length; o++) s = l[p[o]], delete l[s.id], delete s.listeningTo[s.objId] - } - }; - u.once = function(t, e, n) { - var r = d(m, {}, t, e, i.bind(this.off, this)); - return "string" == typeof t && null == n && (e = void 0), this.on(r, e, n) - }, u.listenToOnce = function(t, e, n) { - var r = d(m, {}, e, n, i.bind(this.stopListening, this, t)); - return this.listenTo(t, r) - }; - var m = function(t, e, n, r) { - if (n) { - var s = t[e] = i.once(function() { - r(e, s), n.apply(this, arguments) - }); - s._callback = n - } - return t - }; - u.trigger = function(t) { - if (!this._events) return this; - for (var e = Math.max(0, arguments.length - 1), i = Array(e), n = 0; n < e; n++) i[n] = arguments[n + 1]; - return d(v, this._events, t, void 0, i), this - }; - var v = function(t, e, i, n) { - if (t) { - var r = t[e], - s = t.all; - r && s && (s = s.slice()), r && y(r, n), s && y(s, [e].concat(n)) - } - return t - }, - y = function(t, e) { - var i, n = -1, - r = t.length, - s = e[0], - o = e[1], - a = e[2]; - switch (e.length) { - case 0: - for (; ++n < r;)(i = t[n]).callback.call(i.ctx); - return; - case 1: - for (; ++n < r;)(i = t[n]).callback.call(i.ctx, s); - return; - case 2: - for (; ++n < r;)(i = t[n]).callback.call(i.ctx, s, o); - return; - case 3: - for (; ++n < r;)(i = t[n]).callback.call(i.ctx, s, o, a); - return; - default: - for (; ++n < r;)(i = t[n]).callback.apply(i.ctx, e); - return - } - }; - u.bind = u.on, u.unbind = u.off, i.extend(e, u); - var b = e.Model = function(t, e) { - var n = t || {}; - e || (e = {}), this.cid = i.uniqueId(this.cidPrefix), this.attributes = {}, e.collection && (this.collection = e.collection), e.parse && (n = this.parse(n, e) || {}); - var r = i.result(this, "defaults"); - n = i.defaults(i.extend({}, r, n), r), this.set(n, e), this.changed = {}, this.initialize.apply(this, arguments) - }; - i.extend(b.prototype, u, { - changed: null, - validationError: null, - idAttribute: "id", - cidPrefix: "c", - initialize: function() {}, - toJSON: function(t) { - return i.clone(this.attributes) - }, - sync: function() { - return e.sync.apply(this, arguments) - }, - get: function(t) { - return this.attributes[t] - }, - escape: function(t) { - return i.escape(this.get(t)) - }, - has: function(t) { - return null != this.get(t) - }, - matches: function(t) { - return !!i.iteratee(t, this)(this.attributes) - }, - set: function(t, e, n) { - if (null == t) return this; - var r; - if ("object" == typeof t ? (r = t, n = e) : (r = {})[t] = e, n || (n = {}), !this._validate(r, n)) return !1; - var s = n.unset, - o = n.silent, - a = [], - l = this._changing; - this._changing = !0, l || (this._previousAttributes = i.clone(this.attributes), this.changed = {}); - var c = this.attributes, - u = this.changed, - h = this._previousAttributes; - for (var d in r) e = r[d], i.isEqual(c[d], e) || a.push(d), i.isEqual(h[d], e) ? delete u[d] : u[d] = e, s ? delete c[d] : c[d] = e; - if (this.idAttribute in r && (this.id = this.get(this.idAttribute)), !o) { - a.length && (this._pending = n); - for (var f = 0; f < a.length; f++) this.trigger("change:" + a[f], this, c[a[f]], n) - } - if (l) return this; - if (!o) - for (; this._pending;) n = this._pending, this._pending = !1, this.trigger("change", this, n); - return this._pending = !1, this._changing = !1, this - }, - unset: function(t, e) { - return this.set(t, void 0, i.extend({}, e, { - unset: !0 - })) - }, - clear: function(t) { - var e = {}; - for (var n in this.attributes) e[n] = void 0; - return this.set(e, i.extend({}, t, { - unset: !0 - })) - }, - hasChanged: function(t) { - return null == t ? !i.isEmpty(this.changed) : i.has(this.changed, t) - }, - changedAttributes: function(t) { - if (!t) return !!this.hasChanged() && i.clone(this.changed); - var e = this._changing ? this._previousAttributes : this.attributes, - n = {}; - for (var r in t) { - var s = t[r]; - i.isEqual(e[r], s) || (n[r] = s) - } - return !!i.size(n) && n - }, - previous: function(t) { - return null != t && this._previousAttributes ? this._previousAttributes[t] : null - }, - previousAttributes: function() { - return i.clone(this._previousAttributes) - }, - fetch: function(t) { - t = i.extend({ - parse: !0 - }, t); - var e = this, - n = t.success; - return t.success = function(i) { - var r = t.parse ? e.parse(i, t) : i; - if (!e.set(r, t)) return !1; - n && n.call(t.context, e, i, t), e.trigger("sync", e, i, t) - }, H(this, t), this.sync("read", this, t) - }, - save: function(t, e, n) { - var r; - null == t || "object" == typeof t ? (r = t, n = e) : (r = {})[t] = e, n = i.extend({ - validate: !0, - parse: !0 - }, n); - var s = n.wait; - if (r && !s) { - if (!this.set(r, n)) return !1 - } else if (!this._validate(r, n)) return !1; - var o = this, - a = n.success, - l = this.attributes; - n.success = function(t) { - o.attributes = l; - var e = n.parse ? o.parse(t, n) : t; - if (s && (e = i.extend({}, r, e)), e && !o.set(e, n)) return !1; - a && a.call(n.context, o, t, n), o.trigger("sync", o, t, n) - }, H(this, n), r && s && (this.attributes = i.extend({}, l, r)); - var c = this.isNew() ? "create" : n.patch ? "patch" : "update"; - "patch" !== c || n.attrs || (n.attrs = r); - var u = this.sync(c, this, n); - return this.attributes = l, u - }, - destroy: function(t) { - t = t ? i.clone(t) : {}; - var e = this, - n = t.success, - r = t.wait, - s = function() { - e.stopListening(), e.trigger("destroy", e, e.collection, t) - }; - t.success = function(i) { - r && s(), n && n.call(t.context, e, i, t), e.isNew() || e.trigger("sync", e, i, t) - }; - var o = !1; - return this.isNew() ? i.defer(t.success) : (H(this, t), o = this.sync("delete", this, t)), r || s(), o - }, - url: function() { - var t = i.result(this, "urlRoot") || i.result(this.collection, "url") || F(); - if (this.isNew()) return t; - var e = this.get(this.idAttribute); - return t.replace(/[^\/]$/, "$&/") + encodeURIComponent(e) - }, - parse: function(t, e) { - return t - }, - clone: function() { - return new this.constructor(this.attributes) - }, - isNew: function() { - return !this.has(this.idAttribute) - }, - isValid: function(t) { - return this._validate({}, i.extend({}, t, { - validate: !0 - })) - }, - _validate: function(t, e) { - if (!e.validate || !this.validate) return !0; - t = i.extend({}, this.attributes, t); - var n = this.validationError = this.validate(t, e) || null; - return !n || (this.trigger("invalid", this, n, i.extend(e, { - validationError: n - })), !1) - } - }), a(b, { - keys: 1, - values: 1, - pairs: 1, - invert: 1, - pick: 0, - omit: 0, - chain: 1, - isEmpty: 1 - }, "attributes"); - var x = e.Collection = function(t, e) { - e || (e = {}), e.model && (this.model = e.model), void 0 !== e.comparator && (this.comparator = e.comparator), this._reset(), this.initialize.apply(this, arguments), t && this.reset(t, i.extend({ - silent: !0 - }, e)) - }, - w = { - add: !0, - remove: !0, - merge: !0 - }, - C = { - add: !0, - remove: !1 - }, - k = function(t, e, i) { - i = Math.min(Math.max(i, 0), t.length); - var n, r = Array(t.length - i), - s = e.length; - for (n = 0; n < r.length; n++) r[n] = t[n + i]; - for (n = 0; n < s; n++) t[n + i] = e[n]; - for (n = 0; n < r.length; n++) t[n + s + i] = r[n] - }; - i.extend(x.prototype, u, { - model: b, - initialize: function() {}, - toJSON: function(t) { - return this.map(function(e) { - return e.toJSON(t) - }) - }, - sync: function() { - return e.sync.apply(this, arguments) - }, - add: function(t, e) { - return this.set(t, i.extend({ - merge: !1 - }, e, C)) - }, - remove: function(t, e) { - e = i.extend({}, e); - var n = !i.isArray(t); - t = n ? [t] : t.slice(); - var r = this._removeModels(t, e); - return !e.silent && r.length && (e.changes = { - added: [], - merged: [], - removed: r - }, this.trigger("update", this, e)), n ? r[0] : r - }, - set: function(t, e) { - if (null != t) { - e = i.extend({}, w, e), e.parse && !this._isModel(t) && (t = this.parse(t, e) || []); - var n = !i.isArray(t); - t = n ? [t] : t.slice(); - var r = e.at; - null != r && (r = +r), r > this.length && (r = this.length), r < 0 && (r += this.length + 1); - var s, o, a = [], - l = [], - c = [], - u = [], - h = {}, - d = e.add, - f = e.merge, - p = e.remove, - g = !1, - m = this.comparator && null == r && !1 !== e.sort, - v = i.isString(this.comparator) ? this.comparator : null; - for (o = 0; o < t.length; o++) { - s = t[o]; - var y = this.get(s); - if (y) { - if (f && s !== y) { - var b = this._isModel(s) ? s.attributes : s; - e.parse && (b = y.parse(b, e)), y.set(b, e), c.push(y), m && !g && (g = y.hasChanged(v)) - } - h[y.cid] || (h[y.cid] = !0, a.push(y)), t[o] = y - } else d && (s = t[o] = this._prepareModel(s, e)) && (l.push(s), this._addReference(s, e), h[s.cid] = !0, a.push(s)) - } - if (p) { - for (o = 0; o < this.length; o++) s = this.models[o], h[s.cid] || u.push(s); - u.length && this._removeModels(u, e) - } - var x = !1, - C = !m && d && p; - if (a.length && C ? (x = this.length !== a.length || i.some(this.models, function(t, e) { - return t !== a[e] - }), this.models.length = 0, k(this.models, a, 0), this.length = this.models.length) : l.length && (m && (g = !0), k(this.models, l, null == r ? this.length : r), this.length = this.models.length), g && this.sort({ - silent: !0 - }), !e.silent) { - for (o = 0; o < l.length; o++) null != r && (e.index = r + o), s = l[o], s.trigger("add", s, this, e); - (g || x) && this.trigger("sort", this, e), (l.length || u.length || c.length) && (e.changes = { - added: l, - removed: u, - merged: c - }, this.trigger("update", this, e)) - } - return n ? t[0] : t - } - }, - reset: function(t, e) { - e = e ? i.clone(e) : {}; - for (var n = 0; n < this.models.length; n++) this._removeReference(this.models[n], e); - return e.previousModels = this.models, this._reset(), t = this.add(t, i.extend({ - silent: !0 - }, e)), e.silent || this.trigger("reset", this, e), t - }, - push: function(t, e) { - return this.add(t, i.extend({ - at: this.length - }, e)) - }, - pop: function(t) { - var e = this.at(this.length - 1); - return this.remove(e, t) - }, - unshift: function(t, e) { - return this.add(t, i.extend({ - at: 0 - }, e)) - }, - shift: function(t) { - var e = this.at(0); - return this.remove(e, t) - }, - slice: function() { - return s.apply(this.models, arguments) - }, - get: function(t) { - if (null != t) return this._byId[t] || this._byId[this.modelId(t.attributes || t)] || t.cid && this._byId[t.cid] - }, - has: function(t) { - return null != this.get(t) - }, - at: function(t) { - return t < 0 && (t += this.length), this.models[t] - }, - where: function(t, e) { - return this[e ? "find" : "filter"](t) - }, - findWhere: function(t) { - return this.where(t, !0) - }, - sort: function(t) { - var e = this.comparator; - if (!e) throw new Error("Cannot sort a set without a comparator"); - t || (t = {}); - var n = e.length; - return i.isFunction(e) && (e = i.bind(e, this)), 1 === n || i.isString(e) ? this.models = this.sortBy(e) : this.models.sort(e), t.silent || this.trigger("sort", this, t), this - }, - pluck: function(t) { - return this.map(t + "") - }, - fetch: function(t) { - t = i.extend({ - parse: !0 - }, t); - var e = t.success, - n = this; - return t.success = function(i) { - var r = t.reset ? "reset" : "set"; - n[r](i, t), e && e.call(t.context, n, i, t), n.trigger("sync", n, i, t) - }, H(this, t), this.sync("read", this, t) - }, - create: function(t, e) { - e = e ? i.clone(e) : {}; - var n = e.wait; - if (!(t = this._prepareModel(t, e))) return !1; - n || this.add(t, e); - var r = this, - s = e.success; - return e.success = function(t, e, i) { - n && r.add(t, i), s && s.call(i.context, t, e, i) - }, t.save(null, e), t - }, - parse: function(t, e) { - return t - }, - clone: function() { - return new this.constructor(this.models, { - model: this.model, - comparator: this.comparator - }) - }, - modelId: function(t) { - return t[this.model.prototype.idAttribute || "id"] - }, - _reset: function() { - this.length = 0, this.models = [], this._byId = {} - }, - _prepareModel: function(t, e) { - if (this._isModel(t)) return t.collection || (t.collection = this), t; - e = e ? i.clone(e) : {}, e.collection = this; - var n = new this.model(t, e); - return n.validationError ? (this.trigger("invalid", this, n.validationError, e), !1) : n - }, - _removeModels: function(t, e) { - for (var i = [], n = 0; n < t.length; n++) { - var r = this.get(t[n]); - if (r) { - var s = this.indexOf(r); - this.models.splice(s, 1), this.length--, delete this._byId[r.cid]; - var o = this.modelId(r.attributes); - null != o && delete this._byId[o], e.silent || (e.index = s, r.trigger("remove", r, this, e)), i.push(r), this._removeReference(r, e) - } - } - return i - }, - _isModel: function(t) { - return t instanceof b - }, - _addReference: function(t, e) { - this._byId[t.cid] = t; - var i = this.modelId(t.attributes); - null != i && (this._byId[i] = t), t.on("all", this._onModelEvent, this) - }, - _removeReference: function(t, e) { - delete this._byId[t.cid]; - var i = this.modelId(t.attributes); - null != i && delete this._byId[i], this === t.collection && delete t.collection, t.off("all", this._onModelEvent, this) - }, - _onModelEvent: function(t, e, i, n) { - if (e) { - if (("add" === t || "remove" === t) && i !== this) return; - if ("destroy" === t && this.remove(e, n), "change" === t) { - var r = this.modelId(e.previousAttributes()), - s = this.modelId(e.attributes); - r !== s && (null != r && delete this._byId[r], null != s && (this._byId[s] = e)) - } - } - this.trigger.apply(this, arguments) - } - }), a(x, { - forEach: 3, - each: 3, - map: 3, - collect: 3, - reduce: 0, - foldl: 0, - inject: 0, - reduceRight: 0, - foldr: 0, - find: 3, - detect: 3, - filter: 3, - select: 3, - reject: 3, - every: 3, - all: 3, - some: 3, - any: 3, - include: 3, - includes: 3, - contains: 3, - invoke: 0, - max: 3, - min: 3, - toArray: 1, - size: 1, - first: 3, - head: 3, - take: 3, - initial: 3, - rest: 3, - tail: 3, - drop: 3, - last: 3, - without: 0, - difference: 0, - indexOf: 3, - shuffle: 1, - lastIndexOf: 3, - isEmpty: 1, - chain: 1, - sample: 3, - partition: 3, - groupBy: 3, - countBy: 3, - sortBy: 3, - indexBy: 3, - findIndex: 3, - findLastIndex: 3 - }, "models"); - var S = e.View = function(t) { - this.cid = i.uniqueId("view"), i.extend(this, i.pick(t, M)), this._ensureElement(), this.initialize.apply(this, arguments) - }, - T = /^(\S+)\s*(.*)$/, - M = ["model", "collection", "el", "id", "attributes", "className", "tagName", "events"]; - i.extend(S.prototype, u, { - tagName: "div", - $: function(t) { - return this.$el.find(t) - }, - initialize: function() {}, - render: function() { - return this - }, - remove: function() { - return this._removeElement(), this.stopListening(), this - }, - _removeElement: function() { - this.$el.remove() - }, - setElement: function(t) { - return this.undelegateEvents(), this._setElement(t), this.delegateEvents(), this - }, - _setElement: function(t) { - this.$el = t instanceof e.$ ? t : e.$(t), this.el = this.$el[0] - }, - delegateEvents: function(t) { - if (t || (t = i.result(this, "events")), !t) return this; - this.undelegateEvents(); - for (var e in t) { - var n = t[e]; - if (i.isFunction(n) || (n = this[n]), n) { - var r = e.match(T); - this.delegate(r[1], r[2], i.bind(n, this)) - } - } - return this - }, - delegate: function(t, e, i) { - return this.$el.on(t + ".delegateEvents" + this.cid, e, i), this - }, - undelegateEvents: function() { - return this.$el && this.$el.off(".delegateEvents" + this.cid), this - }, - undelegate: function(t, e, i) { - return this.$el.off(t + ".delegateEvents" + this.cid, e, i), this - }, - _createElement: function(t) { - return document.createElement(t) - }, - _ensureElement: function() { - if (this.el) this.setElement(i.result(this, "el")); - else { - var t = i.extend({}, i.result(this, "attributes")); - this.id && (t.id = i.result(this, "id")), this.className && (t.class = i.result(this, "className")), this.setElement(this._createElement(i.result(this, "tagName"))), this._setAttributes(t) - } - }, - _setAttributes: function(t) { - this.$el.attr(t) - } - }), e.sync = function(t, n, r) { - var s = E[t]; - i.defaults(r || (r = {}), { - emulateHTTP: e.emulateHTTP, - emulateJSON: e.emulateJSON - }); - var o = { - type: s, - dataType: "json" - }; - if (r.url || (o.url = i.result(n, "url") || F()), null != r.data || !n || "create" !== t && "update" !== t && "patch" !== t || (o.contentType = "application/json", o.data = JSON.stringify(r.attrs || n.toJSON(r))), r.emulateJSON && (o.contentType = "application/x-www-form-urlencoded", o.data = o.data ? { - model: o.data - } : {}), r.emulateHTTP && ("PUT" === s || "DELETE" === s || "PATCH" === s)) { - o.type = "POST", r.emulateJSON && (o.data._method = s); - var a = r.beforeSend; - r.beforeSend = function(t) { - if (t.setRequestHeader("X-HTTP-Method-Override", s), a) return a.apply(this, arguments) - } - } - "GET" === o.type || r.emulateJSON || (o.processData = !1); - var l = r.error; - r.error = function(t, e, i) { - r.textStatus = e, r.errorThrown = i, l && l.call(r.context, t, e, i) - }; - var c = r.xhr = e.ajax(i.extend(o, r)); - return n.trigger("request", n, c, r), c - }; - var E = { - create: "POST", - update: "PUT", - patch: "PATCH", - delete: "DELETE", - read: "GET" - }; - e.ajax = function() { - return e.$.ajax.apply(e.$, arguments) - }; - var P = e.Router = function(t) { - t || (t = {}), t.routes && (this.routes = t.routes), this._bindRoutes(), this.initialize.apply(this, arguments) - }, - $ = /\((.*?)\)/g, - L = /(\(\?)?:\w+/g, - A = /\*\w+/g, - N = /[\-{}\[\]+?.,\\\^$|#\s]/g; - i.extend(P.prototype, u, { - initialize: function() {}, - route: function(t, n, r) { - i.isRegExp(t) || (t = this._routeToRegExp(t)), i.isFunction(n) && (r = n, n = ""), r || (r = this[n]); - var s = this; - return e.history.route(t, function(i) { - var o = s._extractParameters(t, i); - !1 !== s.execute(r, o, n) && (s.trigger.apply(s, ["route:" + n].concat(o)), s.trigger("route", n, o), e.history.trigger("route", s, n, o)) - }), this - }, - execute: function(t, e, i) { - t && t.apply(this, e) - }, - navigate: function(t, i) { - return e.history.navigate(t, i), this - }, - _bindRoutes: function() { - if (this.routes) { - this.routes = i.result(this, "routes"); - for (var t, e = i.keys(this.routes); null != (t = e.pop());) this.route(t, this.routes[t]) - } - }, - _routeToRegExp: function(t) { - return t = t.replace(N, "\\$&").replace($, "(?:$1)?").replace(L, function(t, e) { - return e ? t : "([^/?]+)" - }).replace(A, "([^?]*?)"), new RegExp("^" + t + "(?:\\?([\\s\\S]*))?$") - }, - _extractParameters: function(t, e) { - var n = t.exec(e).slice(1); - return i.map(n, function(t, e) { - return e === n.length - 1 ? t || null : t ? decodeURIComponent(t) : null - }) - } - }); - var O = e.History = function() { - this.handlers = [], this.checkUrl = i.bind(this.checkUrl, this), "undefined" != typeof window && (this.location = window.location, this.history = window.history) - }, - I = /^[#\/]|\s+$/g, - D = /^\/+|\/+$/g, - _ = /#.*$/; - O.started = !1, i.extend(O.prototype, u, { - interval: 50, - atRoot: function() { - return this.location.pathname.replace(/[^\/]$/, "$&/") === this.root && !this.getSearch() - }, - matchRoot: function() { - return this.decodeFragment(this.location.pathname).slice(0, this.root.length - 1) + "/" === this.root - }, - decodeFragment: function(t) { - return decodeURI(t.replace(/%25/g, "%2525")) - }, - getSearch: function() { - var t = this.location.href.replace(/#.*/, "").match(/\?.+/); - return t ? t[0] : "" - }, - getHash: function(t) { - var e = (t || this).location.href.match(/#(.*)$/); - return e ? e[1] : "" - }, - getPath: function() { - var t = this.decodeFragment(this.location.pathname + this.getSearch()).slice(this.root.length - 1); - return "/" === t.charAt(0) ? t.slice(1) : t - }, - getFragment: function(t) { - return null == t && (t = this._usePushState || !this._wantsHashChange ? this.getPath() : this.getHash()), t.replace(I, "") - }, - start: function(t) { - if (O.started) throw new Error("Backbone.history has already been started"); - if (O.started = !0, this.options = i.extend({ - root: "/" - }, this.options, t), this.root = this.options.root, this._wantsHashChange = !1 !== this.options.hashChange, this._hasHashChange = "onhashchange" in window && (void 0 === document.documentMode || document.documentMode > 7), this._useHashChange = this._wantsHashChange && this._hasHashChange, this._wantsPushState = !!this.options.pushState, this._hasPushState = !(!this.history || !this.history.pushState), this._usePushState = this._wantsPushState && this._hasPushState, this.fragment = this.getFragment(), this.root = ("/" + this.root + "/").replace(D, "/"), this._wantsHashChange && this._wantsPushState) { - if (!this._hasPushState && !this.atRoot()) { - var e = this.root.slice(0, -1) || "/"; - return this.location.replace(e + "#" + this.getPath()), !0 - } - this._hasPushState && this.atRoot() && this.navigate(this.getHash(), { - replace: !0 - }) - } - if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) { - this.iframe = document.createElement("iframe"), this.iframe.src = "javascript:0", this.iframe.style.display = "none", this.iframe.tabIndex = -1; - var n = document.body, - r = n.insertBefore(this.iframe, n.firstChild).contentWindow; - r.document.open(), r.document.close(), r.location.hash = "#" + this.fragment - } - var s = window.addEventListener || function(t, e) { - return attachEvent("on" + t, e) - }; - if (this._usePushState ? s("popstate", this.checkUrl, !1) : this._useHashChange && !this.iframe ? s("hashchange", this.checkUrl, !1) : this._wantsHashChange && (this._checkUrlInterval = setInterval(this.checkUrl, this.interval)), !this.options.silent) return this.loadUrl() - }, - stop: function() { - var t = window.removeEventListener || function(t, e) { - return detachEvent("on" + t, e) - }; - this._usePushState ? t("popstate", this.checkUrl, !1) : this._useHashChange && !this.iframe && t("hashchange", this.checkUrl, !1), this.iframe && (document.body.removeChild(this.iframe), this.iframe = null), this._checkUrlInterval && clearInterval(this._checkUrlInterval), O.started = !1 - }, - route: function(t, e) { - this.handlers.unshift({ - route: t, - callback: e - }) - }, - checkUrl: function(t) { - var e = this.getFragment(); - if (e === this.fragment && this.iframe && (e = this.getHash(this.iframe.contentWindow)), e === this.fragment) return !1; - this.iframe && this.navigate(e), this.loadUrl() - }, - loadUrl: function(t) { - return !!this.matchRoot() && (t = this.fragment = this.getFragment(t), i.some(this.handlers, function(e) { - if (e.route.test(t)) return e.callback(t), !0 - })) - }, - navigate: function(t, e) { - if (!O.started) return !1; - e && !0 !== e || (e = { - trigger: !!e - }), t = this.getFragment(t || ""); - var i = this.root; - "" !== t && "?" !== t.charAt(0) || (i = i.slice(0, -1) || "/"); - var n = i + t; - if (t = this.decodeFragment(t.replace(_, "")), this.fragment !== t) { - if (this.fragment = t, this._usePushState) this.history[e.replace ? "replaceState" : "pushState"]({}, document.title, n); - else { - if (!this._wantsHashChange) return this.location.assign(n); - if (this._updateHash(this.location, t, e.replace), this.iframe && t !== this.getHash(this.iframe.contentWindow)) { - var r = this.iframe.contentWindow; - e.replace || (r.document.open(), r.document.close()), this._updateHash(r.location, t, e.replace) - } - } - return e.trigger ? this.loadUrl(t) : void 0 - } - }, - _updateHash: function(t, e, i) { - if (i) { - var n = t.href.replace(/(javascript:|#).*$/, ""); - t.replace(n + "#" + e) - } else t.hash = "#" + e - } - }), e.history = new O; - var z = function(t, e) { - var n, r = this; - return n = t && i.has(t, "constructor") ? t.constructor : function() { - return r.apply(this, arguments) - }, i.extend(n, r, e), n.prototype = i.create(r.prototype, t), n.prototype.constructor = n, n.__super__ = r.prototype, n - }; - b.extend = x.extend = P.extend = S.extend = O.extend = z; - var F = function() { - throw new Error('A "url" property or function must be specified') - }, - H = function(t, e) { - var i = e.error; - e.error = function(n) { - i && i.call(e.context, t, n, e), t.trigger("error", t, n, e) - } - }; - return e - }) - }).call(e, i(42)) - }, function(t, e, i) { - var n, r; - (function() { - function i(t) { - function e(e, i, n, r, s, o) { - for (; s >= 0 && s < o; s += t) { - var a = r ? r[s] : s; - n = i(n, e[a], a, e) - } - return n - } - return function(i, n, r, s) { - n = k(n, s, 4); - var o = !L(i) && C.keys(i), - a = (o || i).length, - l = t > 0 ? 0 : a - 1; - return arguments.length < 3 && (r = i[o ? o[l] : l], l += t), e(i, n, r, o, l, a) - } - } - - function s(t) { - return function(e, i, n) { - i = S(i, n); - for (var r = $(e), s = t > 0 ? 0 : r - 1; s >= 0 && s < r; s += t) - if (i(e[s], s, e)) return s; - return -1 - } - } - - function o(t, e, i) { - return function(n, r, s) { - var o = 0, - a = $(n); - if ("number" == typeof s) t > 0 ? o = s >= 0 ? s : Math.max(s + a, o) : a = s >= 0 ? Math.min(s + 1, a) : s + a + 1; - else if (i && s && a) return s = i(n, r), n[s] === r ? s : -1; - if (r !== r) return s = e(p.call(n, o, a), C.isNaN), s >= 0 ? s + o : -1; - for (s = t > 0 ? o : a - 1; s >= 0 && s < a; s += t) - if (n[s] === r) return s; - return -1 - } - } - - function a(t, e) { - var i = D.length, - n = t.constructor, - r = C.isFunction(n) && n.prototype || h, - s = "constructor"; - for (C.has(t, s) && !C.contains(e, s) && e.push(s); i--;)(s = D[i]) in t && t[s] !== r[s] && !C.contains(e, s) && e.push(s) - } - var l = this, - c = l._, - u = Array.prototype, - h = Object.prototype, - d = Function.prototype, - f = u.push, - p = u.slice, - g = h.toString, - m = h.hasOwnProperty, - v = Array.isArray, - y = Object.keys, - b = d.bind, - x = Object.create, - w = function() {}, - C = function(t) { - return t instanceof C ? t : this instanceof C ? void(this._wrapped = t) : new C(t) - }; - void 0 !== t && t.exports && (e = t.exports = C), e._ = C, C.VERSION = "1.8.3"; - var k = function(t, e, i) { - if (void 0 === e) return t; - switch (null == i ? 3 : i) { - case 1: - return function(i) { - return t.call(e, i) - }; - case 2: - return function(i, n) { - return t.call(e, i, n) - }; - case 3: - return function(i, n, r) { - return t.call(e, i, n, r) - }; - case 4: - return function(i, n, r, s) { - return t.call(e, i, n, r, s) - } - } - return function() { - return t.apply(e, arguments) - } - }, - S = function(t, e, i) { - return null == t ? C.identity : C.isFunction(t) ? k(t, e, i) : C.isObject(t) ? C.matcher(t) : C.property(t) - }; - C.iteratee = function(t, e) { - return S(t, e, 1 / 0) - }; - var T = function(t, e) { - return function(i) { - var n = arguments.length; - if (n < 2 || null == i) return i; - for (var r = 1; r < n; r++) - for (var s = arguments[r], o = t(s), a = o.length, l = 0; l < a; l++) { - var c = o[l]; - e && void 0 !== i[c] || (i[c] = s[c]) - } - return i - } - }, - M = function(t) { - if (!C.isObject(t)) return {}; - if (x) return x(t); - w.prototype = t; - var e = new w; - return w.prototype = null, e - }, - E = function(t) { - return function(e) { - return null == e ? void 0 : e[t] - } - }, - P = Math.pow(2, 53) - 1, - $ = E("length"), - L = function(t) { - var e = $(t); - return "number" == typeof e && e >= 0 && e <= P - }; - C.each = C.forEach = function(t, e, i) { - e = k(e, i); - var n, r; - if (L(t)) - for (n = 0, r = t.length; n < r; n++) e(t[n], n, t); - else { - var s = C.keys(t); - for (n = 0, r = s.length; n < r; n++) e(t[s[n]], s[n], t) - } - return t - }, C.map = C.collect = function(t, e, i) { - e = S(e, i); - for (var n = !L(t) && C.keys(t), r = (n || t).length, s = Array(r), o = 0; o < r; o++) { - var a = n ? n[o] : o; - s[o] = e(t[a], a, t) - } - return s - }, C.reduce = C.foldl = C.inject = i(1), C.reduceRight = C.foldr = i(-1), C.find = C.detect = function(t, e, i) { - var n; - if (void 0 !== (n = L(t) ? C.findIndex(t, e, i) : C.findKey(t, e, i)) && -1 !== n) return t[n] - }, C.filter = C.select = function(t, e, i) { - var n = []; - return e = S(e, i), C.each(t, function(t, i, r) { - e(t, i, r) && n.push(t) - }), n - }, C.reject = function(t, e, i) { - return C.filter(t, C.negate(S(e)), i) - }, C.every = C.all = function(t, e, i) { - e = S(e, i); - for (var n = !L(t) && C.keys(t), r = (n || t).length, s = 0; s < r; s++) { - var o = n ? n[s] : s; - if (!e(t[o], o, t)) return !1 - } - return !0 - }, C.some = C.any = function(t, e, i) { - e = S(e, i); - for (var n = !L(t) && C.keys(t), r = (n || t).length, s = 0; s < r; s++) { - var o = n ? n[s] : s; - if (e(t[o], o, t)) return !0 - } - return !1 - }, C.contains = C.includes = C.include = function(t, e, i, n) { - return L(t) || (t = C.values(t)), ("number" != typeof i || n) && (i = 0), C.indexOf(t, e, i) >= 0 - }, C.invoke = function(t, e) { - var i = p.call(arguments, 2), - n = C.isFunction(e); - return C.map(t, function(t) { - var r = n ? e : t[e]; - return null == r ? r : r.apply(t, i) - }) - }, C.pluck = function(t, e) { - return C.map(t, C.property(e)) - }, C.where = function(t, e) { - return C.filter(t, C.matcher(e)) - }, C.findWhere = function(t, e) { - return C.find(t, C.matcher(e)) - }, C.max = function(t, e, i) { - var n, r, s = -1 / 0, - o = -1 / 0; - if (null == e && null != t) { - t = L(t) ? t : C.values(t); - for (var a = 0, l = t.length; a < l; a++)(n = t[a]) > s && (s = n) - } else e = S(e, i), C.each(t, function(t, i, n) { - ((r = e(t, i, n)) > o || r === -1 / 0 && s === -1 / 0) && (s = t, o = r) - }); - return s - }, C.min = function(t, e, i) { - var n, r, s = 1 / 0, - o = 1 / 0; - if (null == e && null != t) { - t = L(t) ? t : C.values(t); - for (var a = 0, l = t.length; a < l; a++)(n = t[a]) < s && (s = n) - } else e = S(e, i), C.each(t, function(t, i, n) { - ((r = e(t, i, n)) < o || r === 1 / 0 && s === 1 / 0) && (s = t, o = r) - }); - return s - }, C.shuffle = function(t) { - for (var e, i = L(t) ? t : C.values(t), n = i.length, r = Array(n), s = 0; s < n; s++) e = C.random(0, s), e !== s && (r[s] = r[e]), r[e] = i[s]; - return r - }, C.sample = function(t, e, i) { - return null == e || i ? (L(t) || (t = C.values(t)), t[C.random(t.length - 1)]) : C.shuffle(t).slice(0, Math.max(0, e)) - }, C.sortBy = function(t, e, i) { - return e = S(e, i), C.pluck(C.map(t, function(t, i, n) { - return { - value: t, - index: i, - criteria: e(t, i, n) - } - }).sort(function(t, e) { - var i = t.criteria, - n = e.criteria; - if (i !== n) { - if (i > n || void 0 === i) return 1; - if (i < n || void 0 === n) return -1 - } - return t.index - e.index - }), "value") - }; - var A = function(t) { - return function(e, i, n) { - var r = {}; - return i = S(i, n), C.each(e, function(n, s) { - var o = i(n, s, e); - t(r, n, o) - }), r - } - }; - C.groupBy = A(function(t, e, i) { - C.has(t, i) ? t[i].push(e) : t[i] = [e] - }), C.indexBy = A(function(t, e, i) { - t[i] = e - }), C.countBy = A(function(t, e, i) { - C.has(t, i) ? t[i]++ : t[i] = 1 - }), C.toArray = function(t) { - return t ? C.isArray(t) ? p.call(t) : L(t) ? C.map(t, C.identity) : C.values(t) : [] - }, C.size = function(t) { - return null == t ? 0 : L(t) ? t.length : C.keys(t).length - }, C.partition = function(t, e, i) { - e = S(e, i); - var n = [], - r = []; - return C.each(t, function(t, i, s) { - (e(t, i, s) ? n : r).push(t) - }), [n, r] - }, C.first = C.head = C.take = function(t, e, i) { - if (null != t) return null == e || i ? t[0] : C.initial(t, t.length - e) - }, C.initial = function(t, e, i) { - return p.call(t, 0, Math.max(0, t.length - (null == e || i ? 1 : e))) - }, C.last = function(t, e, i) { - if (null != t) return null == e || i ? t[t.length - 1] : C.rest(t, Math.max(0, t.length - e)) - }, C.rest = C.tail = C.drop = function(t, e, i) { - return p.call(t, null == e || i ? 1 : e) - }, C.compact = function(t) { - return C.filter(t, C.identity) - }; - var N = function(t, e, i, n) { - for (var r = [], s = 0, o = n || 0, a = $(t); o < a; o++) { - var l = t[o]; - if (L(l) && (C.isArray(l) || C.isArguments(l))) { - e || (l = N(l, e, i)); - var c = 0, - u = l.length; - for (r.length += u; c < u;) r[s++] = l[c++] - } else i || (r[s++] = l) - } - return r - }; - C.flatten = function(t, e) { - return N(t, e, !1) - }, C.without = function(t) { - return C.difference(t, p.call(arguments, 1)) - }, C.uniq = C.unique = function(t, e, i, n) { - C.isBoolean(e) || (n = i, i = e, e = !1), null != i && (i = S(i, n)); - for (var r = [], s = [], o = 0, a = $(t); o < a; o++) { - var l = t[o], - c = i ? i(l, o, t) : l; - e ? (o && s === c || r.push(l), s = c) : i ? C.contains(s, c) || (s.push(c), r.push(l)) : C.contains(r, l) || r.push(l) - } - return r - }, C.union = function() { - return C.uniq(N(arguments, !0, !0)) - }, C.intersection = function(t) { - for (var e = [], i = arguments.length, n = 0, r = $(t); n < r; n++) { - var s = t[n]; - if (!C.contains(e, s)) { - for (var o = 1; o < i && C.contains(arguments[o], s); o++); - o === i && e.push(s) - } - } - return e - }, C.difference = function(t) { - var e = N(arguments, !0, !0, 1); - return C.filter(t, function(t) { - return !C.contains(e, t) - }) - }, C.zip = function() { - return C.unzip(arguments) - }, C.unzip = function(t) { - for (var e = t && C.max(t, $).length || 0, i = Array(e), n = 0; n < e; n++) i[n] = C.pluck(t, n); - return i - }, C.object = function(t, e) { - for (var i = {}, n = 0, r = $(t); n < r; n++) e ? i[t[n]] = e[n] : i[t[n][0]] = t[n][1]; - return i - }, C.findIndex = s(1), C.findLastIndex = s(-1), C.sortedIndex = function(t, e, i, n) { - i = S(i, n, 1); - for (var r = i(e), s = 0, o = $(t); s < o;) { - var a = Math.floor((s + o) / 2); - i(t[a]) < r ? s = a + 1 : o = a - } - return s - }, C.indexOf = o(1, C.findIndex, C.sortedIndex), C.lastIndexOf = o(-1, C.findLastIndex), C.range = function(t, e, i) { - null == e && (e = t || 0, t = 0), i = i || 1; - for (var n = Math.max(Math.ceil((e - t) / i), 0), r = Array(n), s = 0; s < n; s++, t += i) r[s] = t; - return r - }; - var O = function(t, e, i, n, r) { - if (!(n instanceof e)) return t.apply(i, r); - var s = M(t.prototype), - o = t.apply(s, r); - return C.isObject(o) ? o : s - }; - C.bind = function(t, e) { - if (b && t.bind === b) return b.apply(t, p.call(arguments, 1)); - if (!C.isFunction(t)) throw new TypeError("Bind must be called on a function"); - var i = p.call(arguments, 2), - n = function() { - return O(t, n, e, this, i.concat(p.call(arguments))) - }; - return n - }, C.partial = function(t) { - var e = p.call(arguments, 1), - i = function() { - for (var n = 0, r = e.length, s = Array(r), o = 0; o < r; o++) s[o] = e[o] === C ? arguments[n++] : e[o]; - for (; n < arguments.length;) s.push(arguments[n++]); - return O(t, i, this, this, s) - }; - return i - }, C.bindAll = function(t) { - var e, i, n = arguments.length; - if (n <= 1) throw new Error("bindAll must be passed function names"); - for (e = 1; e < n; e++) i = arguments[e], t[i] = C.bind(t[i], t); - return t - }, C.memoize = function(t, e) { - var i = function(n) { - var r = i.cache, - s = "" + (e ? e.apply(this, arguments) : n); - return C.has(r, s) || (r[s] = t.apply(this, arguments)), r[s] - }; - return i.cache = {}, i - }, C.delay = function(t, e) { - var i = p.call(arguments, 2); - return setTimeout(function() { - return t.apply(null, i) - }, e) - }, C.defer = C.partial(C.delay, C, 1), C.throttle = function(t, e, i) { - var n, r, s, o = null, - a = 0; - i || (i = {}); - var l = function() { - a = !1 === i.leading ? 0 : C.now(), o = null, s = t.apply(n, r), o || (n = r = null) - }; - return function() { - var c = C.now(); - a || !1 !== i.leading || (a = c); - var u = e - (c - a); - return n = this, r = arguments, u <= 0 || u > e ? (o && (clearTimeout(o), o = null), a = c, s = t.apply(n, r), o || (n = r = null)) : o || !1 === i.trailing || (o = setTimeout(l, u)), s - } - }, C.debounce = function(t, e, i) { - var n, r, s, o, a, l = function() { - var c = C.now() - o; - c < e && c >= 0 ? n = setTimeout(l, e - c) : (n = null, i || (a = t.apply(s, r), n || (s = r = null))) - }; - return function() { - s = this, r = arguments, o = C.now(); - var c = i && !n; - return n || (n = setTimeout(l, e)), c && (a = t.apply(s, r), s = r = null), a - } - }, C.wrap = function(t, e) { - return C.partial(e, t) - }, C.negate = function(t) { - return function() { - return !t.apply(this, arguments) - } - }, C.compose = function() { - var t = arguments, - e = t.length - 1; - return function() { - for (var i = e, n = t[e].apply(this, arguments); i--;) n = t[i].call(this, n); - return n - } - }, C.after = function(t, e) { - return function() { - if (--t < 1) return e.apply(this, arguments) - } - }, C.before = function(t, e) { - var i; - return function() { - return --t > 0 && (i = e.apply(this, arguments)), t <= 1 && (e = null), i - } - }, C.once = C.partial(C.before, 2); - var I = !{ - toString: null - }.propertyIsEnumerable("toString"), - D = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"]; - C.keys = function(t) { - if (!C.isObject(t)) return []; - if (y) return y(t); - var e = []; - for (var i in t) C.has(t, i) && e.push(i); - return I && a(t, e), e - }, C.allKeys = function(t) { - if (!C.isObject(t)) return []; - var e = []; - for (var i in t) e.push(i); - return I && a(t, e), e - }, C.values = function(t) { - for (var e = C.keys(t), i = e.length, n = Array(i), r = 0; r < i; r++) n[r] = t[e[r]]; - return n - }, C.mapObject = function(t, e, i) { - e = S(e, i); - for (var n, r = C.keys(t), s = r.length, o = {}, a = 0; a < s; a++) n = r[a], o[n] = e(t[n], n, t); - return o - }, C.pairs = function(t) { - for (var e = C.keys(t), i = e.length, n = Array(i), r = 0; r < i; r++) n[r] = [e[r], t[e[r]]]; - return n - }, C.invert = function(t) { - for (var e = {}, i = C.keys(t), n = 0, r = i.length; n < r; n++) e[t[i[n]]] = i[n]; - return e - }, C.functions = C.methods = function(t) { - var e = []; - for (var i in t) C.isFunction(t[i]) && e.push(i); - return e.sort() - }, C.extend = T(C.allKeys), C.extendOwn = C.assign = T(C.keys), C.findKey = function(t, e, i) { - e = S(e, i); - for (var n, r = C.keys(t), s = 0, o = r.length; s < o; s++) - if (n = r[s], e(t[n], n, t)) return n - }, C.pick = function(t, e, i) { - var n, r, s = {}, - o = t; - if (null == o) return s; - C.isFunction(e) ? (r = C.allKeys(o), n = k(e, i)) : (r = N(arguments, !1, !1, 1), n = function(t, e, i) { - return e in i - }, o = Object(o)); - for (var a = 0, l = r.length; a < l; a++) { - var c = r[a], - u = o[c]; - n(u, c, o) && (s[c] = u) - } - return s - }, C.omit = function(t, e, i) { - if (C.isFunction(e)) e = C.negate(e); - else { - var n = C.map(N(arguments, !1, !1, 1), String); - e = function(t, e) { - return !C.contains(n, e) - } - } - return C.pick(t, e, i) - }, C.defaults = T(C.allKeys, !0), C.create = function(t, e) { - var i = M(t); - return e && C.extendOwn(i, e), i - }, C.clone = function(t) { - return C.isObject(t) ? C.isArray(t) ? t.slice() : C.extend({}, t) : t - }, C.tap = function(t, e) { - return e(t), t - }, C.isMatch = function(t, e) { - var i = C.keys(e), - n = i.length; - if (null == t) return !n; - for (var r = Object(t), s = 0; s < n; s++) { - var o = i[s]; - if (e[o] !== r[o] || !(o in r)) return !1 - } - return !0 - }; - var _ = function(t, e, i, n) { - if (t === e) return 0 !== t || 1 / t == 1 / e; - if (null == t || null == e) return t === e; - t instanceof C && (t = t._wrapped), e instanceof C && (e = e._wrapped); - var r = g.call(t); - if (r !== g.call(e)) return !1; - switch (r) { - case "[object RegExp]": - case "[object String]": - return "" + t == "" + e; - case "[object Number]": - return +t != +t ? +e != +e : 0 == +t ? 1 / +t == 1 / e : +t == +e; - case "[object Date]": - case "[object Boolean]": - return +t == +e - } - var s = "[object Array]" === r; - if (!s) { - if ("object" != typeof t || "object" != typeof e) return !1; - var o = t.constructor, - a = e.constructor; - if (o !== a && !(C.isFunction(o) && o instanceof o && C.isFunction(a) && a instanceof a) && "constructor" in t && "constructor" in e) return !1 - } - i = i || [], n = n || []; - for (var l = i.length; l--;) - if (i[l] === t) return n[l] === e; - if (i.push(t), n.push(e), s) { - if ((l = t.length) !== e.length) return !1; - for (; l--;) - if (!_(t[l], e[l], i, n)) return !1 - } else { - var c, u = C.keys(t); - if (l = u.length, C.keys(e).length !== l) return !1; - for (; l--;) - if (c = u[l], !C.has(e, c) || !_(t[c], e[c], i, n)) return !1 - } - return i.pop(), n.pop(), !0 - }; - C.isEqual = function(t, e) { - return _(t, e) - }, C.isEmpty = function(t) { - return null == t || (L(t) && (C.isArray(t) || C.isString(t) || C.isArguments(t)) ? 0 === t.length : 0 === C.keys(t).length) - }, C.isElement = function(t) { - return !(!t || 1 !== t.nodeType) - }, C.isArray = v || function(t) { - return "[object Array]" === g.call(t) - }, C.isObject = function(t) { - var e = typeof t; - return "function" === e || "object" === e && !!t - }, C.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error"], function(t) { - C["is" + t] = function(e) { - return g.call(e) === "[object " + t + "]" - } - }), C.isArguments(arguments) || (C.isArguments = function(t) { - return C.has(t, "callee") - }), "function" != typeof /./ && "object" != typeof Int8Array && (C.isFunction = function(t) { - return "function" == typeof t || !1 - }), C.isFinite = function(t) { - return isFinite(t) && !isNaN(parseFloat(t)) - }, C.isNaN = function(t) { - return C.isNumber(t) && t !== +t - }, C.isBoolean = function(t) { - return !0 === t || !1 === t || "[object Boolean]" === g.call(t) - }, C.isNull = function(t) { - return null === t - }, C.isUndefined = function(t) { - return void 0 === t - }, C.has = function(t, e) { - return null != t && m.call(t, e) - }, C.noConflict = function() { - return l._ = c, this - }, C.identity = function(t) { - return t - }, C.constant = function(t) { - return function() { - return t - } - }, C.noop = function() {}, C.property = E, C.propertyOf = function(t) { - return null == t ? function() {} : function(e) { - return t[e] - } - }, C.matcher = C.matches = function(t) { - return t = C.extendOwn({}, t), - function(e) { - return C.isMatch(e, t) - } - }, C.times = function(t, e, i) { - var n = Array(Math.max(0, t)); - e = k(e, i, 1); - for (var r = 0; r < t; r++) n[r] = e(r); - return n - }, C.random = function(t, e) { - return null == e && (e = t, t = 0), t + Math.floor(Math.random() * (e - t + 1)) - }, C.now = Date.now || function() { - return (new Date).getTime() - }; - var z = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'", - "`": "`" - }, - F = C.invert(z), - H = function(t) { - var e = function(e) { - return t[e] - }, - i = "(?:" + C.keys(t).join("|") + ")", - n = RegExp(i), - r = RegExp(i, "g"); - return function(t) { - return t = null == t ? "" : "" + t, n.test(t) ? t.replace(r, e) : t - } - }; - C.escape = H(z), C.unescape = H(F), C.result = function(t, e, i) { - var n = null == t ? void 0 : t[e]; - return void 0 === n && (n = i), C.isFunction(n) ? n.call(t) : n - }; - var R = 0; - C.uniqueId = function(t) { - var e = ++R + ""; - return t ? t + e : e - }, C.templateSettings = { - evaluate: /<%([\s\S]+?)%>/g, - interpolate: /<%=([\s\S]+?)%>/g, - escape: /<%-([\s\S]+?)%>/g - }; - var V = /(.)^/, - W = { - "'": "'", - "\\": "\\", - "\r": "r", - "\n": "n", - "\u2028": "u2028", - "\u2029": "u2029" - }, - B = /\\|'|\r|\n|\u2028|\u2029/g, - j = function(t) { - return "\\" + W[t] - }; - C.template = function(t, e, i) { - !e && i && (e = i), e = C.defaults({}, e, C.templateSettings); - var n = RegExp([(e.escape || V).source, (e.interpolate || V).source, (e.evaluate || V).source].join("|") + "|$", "g"), - r = 0, - s = "__p+='"; - t.replace(n, function(e, i, n, o, a) { - return s += t.slice(r, a).replace(B, j), r = a + e.length, i ? s += "'+\n((__t=(" + i + "))==null?'':_.escape(__t))+\n'" : n ? s += "'+\n((__t=(" + n + "))==null?'':__t)+\n'" : o && (s += "';\n" + o + "\n__p+='"), e - }), s += "';\n", e.variable || (s = "with(obj||{}){\n" + s + "}\n"), s = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + s + "return __p;\n"; - try { - var o = new Function(e.variable || "obj", "_", s) - } catch (t) { - throw t.source = s, t - } - var a = function(t) { - return o.call(this, t, C) - }; - return a.source = "function(" + (e.variable || "obj") + "){\n" + s + "}", a - }, C.chain = function(t) { - var e = C(t); - return e._chain = !0, e - }; - var U = function(t, e) { - return t._chain ? C(e).chain() : e - }; - C.mixin = function(t) { - C.each(C.functions(t), function(e) { - var i = C[e] = t[e]; - C.prototype[e] = function() { - var t = [this._wrapped]; - return f.apply(t, arguments), U(this, i.apply(C, t)) - } - }) - }, C.mixin(C), C.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function(t) { - var e = u[t]; - C.prototype[t] = function() { - var i = this._wrapped; - return e.apply(i, arguments), "shift" !== t && "splice" !== t || 0 !== i.length || delete i[0], U(this, i) - } - }), C.each(["concat", "join", "slice"], function(t) { - var e = u[t]; - C.prototype[t] = function() { - return U(this, e.apply(this._wrapped, arguments)) - } - }), C.prototype.value = function() { - return this._wrapped - }, C.prototype.valueOf = C.prototype.toJSON = C.prototype.value, C.prototype.toString = function() { - return "" + this._wrapped - }, n = [], void 0 !== (r = function() { - return C - }.apply(e, n)) && (t.exports = r) - }).call(this) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { - return typeof t - } : function(t) { - return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t - }, - r = i(22), - s = function(t) { - return t && t.__esModule ? t : { - default: t - } - }(r), - o = i(0), - a = i(112), - l = i(33), - c = i(39), - u = function(t) { - return t.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&") - }; - t.exports = o.Model.extend(s.default).extend({ - defaults: { - tagName: "div", - type: "", - removable: !0, - draggable: !0, - droppable: !0, - badgable: !0, - stylable: !0, - highlightable: !0, - copyable: !0, - resizable: !1, - editable: !1, - hiddenLayer: !1, - void: !1, - state: "", - status: "", - content: "", - icon: "", - style: {}, - attributes: "", - classes: "", - script: "", - traits: ["id", "title"], - toolbar: null, - previousModel: "", - mirror: "" - }, - initialize: function(t, e) { - e && e.config && e.config.voidElements.indexOf(this.get("tagName")) >= 0 && this.set("void", !0), this.opt = e, this.sm = e ? e.sm || {} : {}, this.config = t || {}, this.defaultC = this.config.components || [], this.defaultCl = this.normalizeClasses(this.get("classes") || this.config.classes || []), this.components = new a(this.defaultC, e), this.components.parent = this, this.listenTo(this, "change:script", this.scriptUpdated), this.set("attributes", this.get("attributes") || {}), this.set("components", this.components), this.set("classes", new l(this.defaultCl)); - var i = new c; - i.setTarget(this), i.add(this.get("traits")), this.set("traits", i), this.initToolbar(), ["stylable"].forEach(function(t) { - var e = this.get(t); - if ("string" == typeof e) { - var i = e.split(",").map(function(t) { - return t.trim() - }); - this.set(t, i) - } - }, this), this.set("status", ""), this.init() - }, - init: function() {}, - scriptUpdated: function() { - this.set("scriptUpdated", 1) - }, - initToolbar: function() { - var t = this; - if (!t.get("toolbar")) { - var e = []; - t.get("draggable") && e.push({ - attributes: { - class: "fa fa-arrows" - }, - command: "tlb-move" - }), t.get("copyable") && e.push({ - attributes: { - class: "fa fa-clone" - }, - command: "tlb-clone" - }), t.get("removable") && e.push({ - attributes: { - class: "fa fa-trash-o" - }, - command: "tlb-delete" - }), t.set("toolbar", e) - } - }, - loadTraits: function(t) { - var e = new c; - e.setTarget(this), e.add(t), this.set("traits", e) - }, - normalizeClasses: function(t) { - var e = []; - if (this.sm.get) { - var i = this.sm.get("SelectorManager"); - if (i) return t.forEach(function(t) { - var n = ""; - n = "string" == typeof t ? t : t.name; - var r = i.add(n); - e.push(r) - }), e - } - }, - clone: function(t) { - var i = e.clone(this.attributes), - n = this.get("components"), - r = this.get("traits"), - s = this.get("classes"); - return i.components = [], i.classes = [], i.traits = [], n.each(function(t, e) { - i.components[e] = t.clone(1) - }), r.each(function(t, e) { - i.traits[e] = t.clone() - }), s.each(function(t, e) { - i.classes[e] = t.get("name") - }), i.status = "", i.view = "", t && (this.opt.collection = null), new this.constructor(i, this.opt) - }, - getName: function() { - var t = this.get("custom-name"), - e = this.get("tagName"); - e = "div" == e ? "box" : e; - var i = this.get("type") || e; - return i = i.charAt(0).toUpperCase() + i.slice(1), t || i - }, - getIcon: function() { - var t = this.get("icon"); - return t ? t + " " : "" - }, - toHTML: function(t) { - var i = "", - r = this, - s = r.get("tagName"), - o = 0, - a = r.get("void"), - l = "", - c = "", - u = this.getAttrToHTML(); - for (var h in u) { - "id" == h && (o = 1); - var d = u[h]; - c += void 0 !== (void 0 === d ? "undefined" : n(d)) && "" !== d ? " " + h + '="' + d + '"' : "" - } - var f = ""; - return r.get("classes").each(function(t) { - f += " " + t.get("name") - }), f = "" !== f ? ' class="' + f.trim() + '"' : "", e.isEmpty(r.get("style")) || o || (l = ' id="' + r.getId() + '" '), i += "<" + s + f + l + c + (a ? "/" : "") + ">" + r.get("content"), r.get("components").each(function(t) { - i += t.toHTML() - }), a || (i += ""), i - }, - getAttrToHTML: function() { - var t = this.get("attributes") || {}; - return delete t.style, t - }, - toJSON: function() { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - var n = o.Model.prototype.toJSON.apply(this, e), - r = this.getScriptString(); - return delete n.toolbar, r && (n.script = r), n - }, - getId: function() { - return (this.get("attributes") || {}).id || this.cid - }, - getScriptString: function(t) { - var e = this, - i = t || this.get("script"); - if (!i) return i; - if ("function" == typeof i) { - var n = i.toString().trim(); - n = n.replace(/^function[\s\w]*\(\)\s?\{/, "").replace(/\}$/, ""), i = n.trim() - } - var r = this.sm.config || {}, - s = u(r.tagVarStart || "{[ "), - o = u(r.tagVarEnd || " ]}"), - a = new RegExp(s + "(\\w+)" + o, "g"); - return i = i.replace(a, function(t, i) { - return e.scriptUpdated(), e.attributes[i] - }) - } - }, { - isComponent: function(t) { - return { - tagName: t.tagName ? t.tagName.toLowerCase() : "" - } - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0), - r = i(124); - t.exports = n.View.extend({ - events: { - click: "initResize" - }, - className: function() { - return this.getClasses() - }, - tagName: function() { - return this.model.get("tagName") - }, - initialize: function(t) { - var e = this.model; - this.opts = t || {}, this.config = this.opts.config || {}, this.em = this.config.em || "", this.pfx = this.config.stylePrefix || "", this.ppfx = this.config.pStylePrefix || "", this.components = e.get("components"), this.attr = e.get("attributes"), this.classe = this.attr.class || [], this.listenTo(e, "destroy remove", this.remove), this.listenTo(e, "change:style", this.updateStyle), this.listenTo(e, "change:attributes", this.updateAttributes), this.listenTo(e, "change:status", this.updateStatus), this.listenTo(e, "change:state", this.updateState), this.listenTo(e, "change:script", this.render), this.listenTo(e, "change", this.handleChange), this.listenTo(e.get("classes"), "add remove change", this.updateClasses), this.$el.data("model", e), e.view = this, this.$el.data("collection", this.components), e.get("classes").length && this.importClasses(), this.init() - }, - init: function() {}, - handleChange: function() { - var t = this.em; - if (t) { - var e = this.model; - t.trigger("component:update", e); - for (var i in e.changed) t.trigger("component:update:" + i, e) - } - }, - importClasses: function() { - var t = this.config.em.get("SelectorManager"); - t && this.model.get("classes").each(function(e) { - t.add(e.get("name")) - }) - }, - updateState: function(t) { - var e = "hc-state"; - this.model.get("state") ? this.$el.addClass(e) : this.$el.removeClass(e) - }, - updateStatus: function(t) { - var e = this.el, - i = this.model.get("status"), - n = this.pfx, - r = this.ppfx, - s = n + "selected", - o = s + "-parent", - a = r + "freezed", - l = e.getAttribute("class") || "", - c = ""; - switch (i) { - case "selected": - c = l + " " + s; - break; - case "selected-parent": - c = l + " " + o; - break; - case "freezed": - c = l + " " + a; - break; - default: - this.$el.removeClass(s + " " + o + " " + a) - }(c = c.trim()) && e.setAttribute("class", c) - }, - getClasses: function() { - var t = this.model.get("attributes"), - e = t.class || []; - return e.length ? e.join(" ") : null - }, - updateAttributes: function() { - var t = this.model, - e = {}, - i = t.get("attributes"); - for (var n in i) i.hasOwnProperty(n) && (e[n] = i[n]); - t.get("src") && (e.src = t.get("src")), t.get("highlightable") && (e["data-highlightable"] = 1); - var r = this.getStyleString(); - r && (e.style = r), this.$el.attr(e) - }, - updateStyle: function() { - this.$el.attr("style", this.getStyleString()) - }, - getStyleString: function() { - var t = ""; - this.style = this.model.get("style"); - for (var e in this.style) this.style.hasOwnProperty(e) && (t += e + ":" + this.style[e] + ";"); - return t - }, - updateClasses: function() { - var t = ""; - this.model.get("classes").each(function(e) { - t += e.get("name") + " " - }), t = t.trim(), t ? this.$el.attr("class", t) : this.$el.removeAttr("class"), this.updateStatus() - }, - eventCall: function(t) { - t.viewResponse = this - }, - initResize: function() { - var t, i = this.opts.config.em, - n = i ? i.get("Editor") : "", - r = i ? i.get("Config") : "", - s = r.stylePrefix || "", - o = "data-" + s + "handler", - a = s + "resizing", - l = this.model, - c = function(t, e, i) { - var n = (e.target.getAttribute(o), a); - i.docs && i.docs.find("body")[t](n) - }; - n && this.model.get("resizable") && n.runCommand("resize", { - el: this.el, - options: { - onStart: function(e, n) { - c("addClass", e, n), t = i.get("StyleManager").getModelToStyle(l) - }, - onMove: function() { - n.trigger("change:canvasOffset") - }, - onEnd: function(t, e) { - c("removeClass", t, e), n.trigger("change:canvasOffset") - }, - updateTarget: function(n, r, s) { - if (t) { - var o = e.clone(t.get("style")), - a = r.w + (s ? 1 : 0); - if (o.width = a + "px", o.height = r.h + "px", t.set("style", o, { - avoidStore: 1 - }), i.trigger("targetStyleUpdated"), s) { - var l = e.clone(o); - l.width = a - 1 + "px", t.set("style", l) - } - } - } - } - }) - }, - prevDef: function(t) { - t.preventDefault() - }, - updateScript: function() { - if (this.model.get("script")) { - var t = this.em; - if (t) { - t.get("Canvas").getCanvasView().updateScript(this) - } - } - }, - getChildrenContainer: function() { - var t = this.el; - return "function" == typeof this.getChildrenSelector ? t = this.el.querySelector(this.getChildrenSelector()) : this.getTemplate, t - }, - renderChildren: function() { - var t = new r({ - collection: this.model.get("components"), - config: this.config, - defaultTypes: this.opts.defaultTypes, - componentTypes: this.opts.componentTypes - }), - e = this.getChildrenContainer(), - i = t.render($(e)).el.childNodes; - i = Array.prototype.slice.call(i); - for (var n = 0, s = i.length; n < s; n++) e.appendChild(i.shift()); - if (e !== this.el) { - ! function t(i) { - Array.prototype.slice.call(i.children).forEach(function(i) { - i.style["pointer-events"] = "none", e !== i && t(i) - }) - }(this.el) - } - }, - renderAttributes: function() { - this.updateAttributes(), this.updateClasses() - }, - render: function() { - this.renderAttributes(); - var t = this.model; - return this.getChildrenContainer().innerHTML = t.get("content"), this.renderChildren(), this.updateScript(), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0); - t.exports = n.View.extend({ - template: e.template('\n
\n input-holder\'>\n
\n
'), - templateLabel: e.template('\n
\n \n <%= label %>\n \n \n
'), - events: { - change: "valueUpdated" - }, - initialize: function(t) { - this.config = t.config || {}, this.em = this.config.em, this.pfx = this.config.stylePrefix || "", this.ppfx = this.config.pStylePrefix || "", this.target = t.target || {}, this.propTarget = t.propTarget || {}, this.onChange = t.onChange || {}, this.onInputRender = t.onInputRender || {}, this.customValue = t.customValue || {}, this.defaultValue = this.model.get("defaults"), this.property = this.model.get("property"), this.input = this.$input = null; - var e = this.pfx; - this.className = e + "property", this.inputHolderId = "#" + e + "input-holder", this.sector = this.model.collection && this.model.collection.sector, this.model.get("value") || this.model.set("value", this.model.get("defaults")), this.listenTo(this.propTarget, "update", this.targetUpdated), this.listenTo(this.model, "destroy remove", this.remove), this.listenTo(this.model, "change:value", this.valueChanged), this.listenTo(this.model, "targetUpdated", this.targetUpdated), this.listenTo(this.model, "change:visible", this.updateVisibility), this.listenTo(this.model, "change:status", this.updateStatus), this.events["click ." + e + "clear"] = "clear", this.delegateEvents() - }, - updateStatus: function() { - var t = this.model.get("status"), - e = this.pfx, - i = this.ppfx, - n = this.config, - r = i + "active-color", - s = i + "warn-color", - o = this.$el.find("> ." + e + "label"), - a = this.getClearEl().style; - switch (o.removeClass(r + " " + s), a.display = "none", t) { - case "updated": - o.addClass(r), n.clearProperties && (a.display = "inline"); - break; - case "computed": - o.addClass(s) - } - }, - clear: function() { - this.getTargetModel().removeStyle(this.model.get("property")), this.targetUpdated() - }, - getClearEl: function() { - return this.el.querySelector("." + this.pfx + "clear") - }, - getTarget: function() { - return this.propTarget && this.propTarget.model - }, - getTargetModel: function() { - return this.propTarget && this.propTarget.model - }, - getHelperModel: function() { - return this.propTarget && this.propTarget.helper - }, - valueUpdated: function() { - this.model.set("value", this.getInputValue()), this.elementUpdated() - }, - elementUpdated: function() { - this.model.set("status", "updated") - }, - targetUpdated: function() { - if (this.checkVisibility()) { - var t = "", - e = "", - i = this.getTargetValue({ - ignoreDefault: 1 - }), - n = this.getDefaultValue(), - r = this.getComputedValue(), - s = this.config, - o = s.em, - a = this.model; - i ? (t = i, s.highlightChanged && (e = "updated")) : r && s.showComputed && r != n ? (t = r, s.highlightComputed && (e = "computed")) : (t = n, e = ""), this.setValue(t, 1), this.model.set("status", e), o && (o.trigger("styleManager:change", this), o.trigger("styleManager:change:" + a.get("property"), this)) - } - }, - checkVisibility: function() { - var t = 1; - return this.config.hideNotStylable && (this.isTargetStylable() && this.isComponentStylable() ? this.show() : (this.hide(), t = 0), this.sector && this.sector.trigger("updateVisibility")), t - }, - sameValue: function() { - return this.getComponentValue() == this.getValueForTarget() - }, - getComponentValue: function() { - var t = this.model, - e = this.getTargetModel(); - if (e) { - var i = e.get("style")[this.property]; - if (this.componentValue = i || this.defaultValue + (this.unit || ""), t.get("functionName")) { - var n = this.fetchFromFunction(this.componentValue); - n && (this.componentValue = n) - } - if (this.customValue && "function" == typeof this.customValue) { - var r = t.collection.indexOf(t), - s = this.customValue(this, r); - s && (this.componentValue = s) - } - return this.componentValue - } - }, - getTargetValue: function() { - var t, e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, - i = this.model, - n = this.getTargetModel(), - r = this.customValue; - if (!n) return t; - if (t = n.getStyle()[i.get("property")], t || e.ignoreDefault || (t = this.getDefaultValue()), "function" == typeof r && !e.ignoreCustomValue) { - var s = i.collection.indexOf(i), - o = r(this, s); - o && (t = o) - } - return t - }, - getDefaultValue: function() { - return this.model.get("defaults") - }, - getComputedValue: function() { - var t = this.propTarget.computed, - e = this.config.validComputed, - i = this.model.get("property"); - return t && e.indexOf(i) >= 0 && t[i] - }, - fetchFromFunction: function(t) { - return t.substring(t.indexOf("(") + 1, t.lastIndexOf(")")) - }, - tryFetchFromFunction: function(t) { - if (!this.model.get("functionName")) return t; - var e = t + "", - i = e.indexOf("(") + 1, - n = e.lastIndexOf(")"); - return e.substring(i, n) - }, - getValueForTarget: function() { - return this.model.get("value") - }, - getInputValue: function() { - return this.$input ? this.$input.val() : "" - }, - valueChanged: function(t, e, i) { - var n = this.getValueForTarget(), - r = this.config.em, - s = this.model; - if (this.$input && this.setValue(n), this.getTarget() && this.isTargetStylable() && this.isComponentStylable()) { - var o = this.getValueForTarget(), - a = s.get("functionName"); - a && (o = a + "(" + o + ")"); - var l = this.getTarget(), - c = this.onChange; - c && "function" == typeof c ? c(l, this, i) : this.updateTargetStyle(o, null, i), r && (r.trigger("component:update", s), r.trigger("component:styleUpdate", s), r.trigger("component:styleUpdate:" + s.get("property"), s)) - } - }, - updateTargetStyle: function(t, i, n) { - var r = i || this.property, - s = t || "", - o = n ? n.avoidStore : 0, - a = this.getTarget(), - l = e.clone(a.get("style")); - s ? l[r] = s : delete l[r], a.set("style", l, { - avoidStore: o - }); - var c = this.getHelperModel(); - c && c.setStyle(l, { - avoidStore: o - }) - }, - isTargetStylable: function() { - var t = this.getTarget().get("stylable"); - return t instanceof Array && (t = e.indexOf(t, this.property) >= 0), t - }, - isComponentStylable: function() { - var t = this.em, - i = t && t.get("selectedComponent"); - if (!i) return !0; - var n = i.get("stylable"); - return n instanceof Array && (n = e.indexOf(n, this.property) >= 0), n - }, - setValue: function(t, e) { - var i = 0 === e ? 0 : 1, - n = this.model.get("defaults"), - r = this.model.get("value") || n; - (t || i) && (r = t), this.$input && this.$input.val(r), this.model.set({ - value: r - }, { - silent: !0 - }) - }, - updateVisibility: function() { - this.el.style.display = this.model.get("visible") ? "block" : "none" - }, - show: function() { - this.model.set("visible", 1) - }, - hide: function() { - this.model.set("visible", 0) - }, - renderLabel: function() { - var t = this.model; - this.$el.html(this.templateLabel({ - pfx: this.pfx, - ppfx: this.ppfx, - icon: t.get("icon"), - info: t.get("info"), - label: t.get("name") - })) - }, - renderField: function() { - this.renderTemplate(), this.renderInput(), delete this.componentValue - }, - renderTemplate: function() { - this.$el.append(this.template({ - pfx: this.pfx, - ppfx: this.ppfx, - icon: this.model.get("icon"), - info: this.model.get("info"), - label: this.model.get("name") - })) - }, - renderInput: function() { - this.$input || (this.$input = $("", { - placeholder: this.model.get("defaults"), - type: "text" - }), this.$el.find(this.inputHolderId).html(this.$input)), this.setValue(this.componentValue, 0) - }, - renderInputRequest: function() { - this.renderInput() - }, - cleanValue: function() { - this.setValue("") - }, - render: function() { - return this.renderLabel(), this.renderField(), this.$el.attr("class", this.className), this.updateStatus(), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - ! function(e, i) { - t.exports = i() - }(0, function() { - "use strict"; - - function t(t) { - return new RegExp("(^|\\s)" + t + "(?:$|\\s)\\s*") - } - - function e(t) { - for (var e = t.childNodes.length; e > 0; --e) t.removeChild(t.firstChild); - return t - } - - function i(t, i) { - return e(t).appendChild(i) - } - - function n(t, e, i, n) { - var r = document.createElement(t); - if (i && (r.className = i), n && (r.style.cssText = n), "string" == typeof e) r.appendChild(document.createTextNode(e)); - else if (e) - for (var s = 0; s < e.length; ++s) r.appendChild(e[s]); - return r - } - - function r(t, e) { - if (3 == e.nodeType && (e = e.parentNode), t.contains) return t.contains(e); - do { - if (11 == e.nodeType && (e = e.host), e == t) return !0 - } while (e = e.parentNode) - } - - function s() { - var t; - try { - t = document.activeElement - } catch (e) { - t = document.body || null - } - for (; t && t.root && t.root.activeElement;) t = t.root.activeElement; - return t - } - - function o(e, i) { - var n = e.className; - t(i).test(n) || (e.className += (n ? " " : "") + i) - } - - function a(e, i) { - for (var n = e.split(" "), r = 0; r < n.length; r++) n[r] && !t(n[r]).test(i) && (i += " " + n[r]); - return i - } - - function l(t) { - var e = Array.prototype.slice.call(arguments, 1); - return function() { - return t.apply(null, e) - } - } - - function c(t, e, i) { - e || (e = {}); - for (var n in t) !t.hasOwnProperty(n) || !1 === i && e.hasOwnProperty(n) || (e[n] = t[n]); - return e - } - - function u(t, e, i, n, r) { - null == e && -1 == (e = t.search(/[^\s\u00a0]/)) && (e = t.length); - for (var s = n || 0, o = r || 0;;) { - var a = t.indexOf("\t", s); - if (a < 0 || a >= e) return o + (e - s); - o += a - s, o += i - o % i, s = a + 1 - } - } - - function h() { - this.id = null - } - - function d(t, e) { - for (var i = 0; i < t.length; ++i) - if (t[i] == e) return i; - return -1 - } - - function f(t, e, i) { - for (var n = 0, r = 0;;) { - var s = t.indexOf("\t", n); - 1 == s && (s = t.length); - var o = s - n; - if (s == t.length || r + o >= e) return n + Math.min(o, e - r); - if (r += s - n, r += i - r % i, n = s + 1, r >= e) return n - } - } - - function p(t) { - for (; Ao.length <= t;) Ao.push(g(Ao) + " "); - return Ao[t] - } - - function g(t) { - return t[t.length - 1] - } - - function m(t, e) { - for (var i = [], n = 0; n < t.length; n++) i[n] = e(t[n], n); - return i - } - - function v(t, e, i) { - for (var n = 0, r = i(e); n < t.length && i(t[n]) <= r;) n++; - t.splice(n, 0, e) - } - - function y() {} - - function b(t, e) { - var i; - return Object.create ? i = Object.create(t) : (y.prototype = t, i = new y), e && c(e, i), i - } - - function x(t) { - return /\w/.test(t) || t > "€" && (t.toUpperCase() != t.toLowerCase() || No.test(t)) - } - - function w(t, e) { - return e ? !!(e.source.indexOf("\\w") > -1 && x(t)) || e.test(t) : x(t) - } - - function C(t) { - for (var e in t) - if (t.hasOwnProperty(e) && t[e]) return !1; - return !0 - } - - function k(t) { - return t.charCodeAt(0) >= 768 && Oo.test(t) - } - - function S(t, e, i) { - var r = this; - this.input = i, r.scrollbarFiller = n("div", null, "CodeMirror-scrollbar-filler"), r.scrollbarFiller.setAttribute("cm-not-content", "true"), r.gutterFiller = n("div", null, "CodeMirror-gutter-filler"), r.gutterFiller.setAttribute("cm-not-content", "true"), r.lineDiv = n("div", null, "CodeMirror-code"), r.selectionDiv = n("div", null, null, "position: relative; z-index: 1"), r.cursorDiv = n("div", null, "CodeMirror-cursors"), r.measure = n("div", null, "CodeMirror-measure"), r.lineMeasure = n("div", null, "CodeMirror-measure"), r.lineSpace = n("div", [r.measure, r.lineMeasure, r.selectionDiv, r.cursorDiv, r.lineDiv], null, "position: relative; outline: none"), r.mover = n("div", [n("div", [r.lineSpace], "CodeMirror-lines")], null, "position: relative"), r.sizer = n("div", [r.mover], "CodeMirror-sizer"), r.sizerWidth = null, r.heightForcer = n("div", null, null, "position: absolute; height: " + Mo + "px; width: 1px;"), r.gutters = n("div", null, "CodeMirror-gutters"), r.lineGutter = null, r.scroller = n("div", [r.sizer, r.heightForcer, r.gutters], "CodeMirror-scroll"), r.scroller.setAttribute("tabIndex", "-1"), r.wrapper = n("div", [r.scrollbarFiller, r.gutterFiller, r.scroller], "CodeMirror"), no && ro < 8 && (r.gutters.style.zIndex = -1, r.scroller.style.paddingRight = 0), so || to && po || (r.scroller.draggable = !0), t && (t.appendChild ? t.appendChild(r.wrapper) : t(r.wrapper)), r.viewFrom = r.viewTo = e.first, r.reportedViewFrom = r.reportedViewTo = e.first, r.view = [], r.renderedView = null, r.externalMeasured = null, r.viewOffset = 0, r.lastWrapHeight = r.lastWrapWidth = 0, r.updateLineNumbers = null, r.nativeBarWidth = r.barHeight = r.barWidth = 0, r.scrollbarsClipped = !1, r.lineNumWidth = r.lineNumInnerWidth = r.lineNumChars = null, r.alignWidgets = !1, r.cachedCharWidth = r.cachedTextHeight = r.cachedPaddingH = null, r.maxLine = null, r.maxLineLength = 0, r.maxLineChanged = !1, r.wheelDX = r.wheelDY = r.wheelStartX = r.wheelStartY = null, r.shift = !1, r.selForContextMenu = null, r.activeTouch = null, i.init(r) - } - - function T(t, e) { - if ((e -= t.first) < 0 || e >= t.size) throw new Error("There is no line " + (e + t.first) + " in the document."); - for (var i = t; !i.lines;) - for (var n = 0;; ++n) { - var r = i.children[n], - s = r.chunkSize(); - if (e < s) { - i = r; - break - } - e -= s - } - return i.lines[e] - } - - function M(t, e, i) { - var n = [], - r = e.line; - return t.iter(e.line, i.line + 1, function(t) { - var s = t.text; - r == i.line && (s = s.slice(0, i.ch)), r == e.line && (s = s.slice(e.ch)), n.push(s), ++r - }), n - } - - function E(t, e, i) { - var n = []; - return t.iter(e, i, function(t) { - n.push(t.text) - }), n - } - - function P(t, e) { - var i = e - t.height; - if (i) - for (var n = t; n; n = n.parent) n.height += i - } - - function $(t) { - if (null == t.parent) return null; - for (var e = t.parent, i = d(e.lines, t), n = e.parent; n; e = n, n = n.parent) - for (var r = 0; n.children[r] != e; ++r) i += n.children[r].chunkSize(); - return i + e.first - } - - function L(t, e) { - var i = t.first; - t: do { - for (var n = 0; n < t.children.length; ++n) { - var r = t.children[n], - s = r.height; - if (e < s) { - t = r; - continue t - } - e -= s, i += r.chunkSize() - } - return i - } while (!t.lines); - for (var o = 0; o < t.lines.length; ++o) { - var a = t.lines[o], - l = a.height; - if (e < l) break; - e -= l - } - return i + o - } - - function A(t, e) { - return e >= t.first && e < t.first + t.size - } - - function N(t, e) { - return String(t.lineNumberFormatter(e + t.firstLineNumber)) - } - - function O(t, e) { - if (!(this instanceof O)) return new O(t, e); - this.line = t, this.ch = e - } - - function I(t, e) { - return t.line - e.line || t.ch - e.ch - } - - function D(t) { - return O(t.line, t.ch) - } - - function _(t, e) { - return I(t, e) < 0 ? e : t - } - - function z(t, e) { - return I(t, e) < 0 ? t : e - } - - function F(t, e) { - return Math.max(t.first, Math.min(e, t.first + t.size - 1)) - } - - function H(t, e) { - if (e.line < t.first) return O(t.first, 0); - var i = t.first + t.size - 1; - return e.line > i ? O(i, T(t, i).text.length) : R(e, T(t, e.line).text.length) - } - - function R(t, e) { - var i = t.ch; - return null == i || i > e ? O(t.line, e) : i < 0 ? O(t.line, 0) : t - } - - function V(t, e) { - for (var i = [], n = 0; n < e.length; n++) i[n] = H(t, e[n]); - return i - } - - function W() { - Io = !0 - } - - function B() { - Do = !0 - } - - function j(t, e, i) { - this.marker = t, this.from = e, this.to = i - } - - function U(t, e) { - if (t) - for (var i = 0; i < t.length; ++i) { - var n = t[i]; - if (n.marker == e) return n - } - } - - function q(t, e) { - for (var i, n = 0; n < t.length; ++n) t[n] != e && (i || (i = [])).push(t[n]); - return i - } - - function K(t, e) { - t.markedSpans = t.markedSpans ? t.markedSpans.concat([e]) : [e], e.marker.attachLine(t) - } - - function G(t, e, i) { - var n; - if (t) - for (var r = 0; r < t.length; ++r) { - var s = t[r], - o = s.marker, - a = null == s.from || (o.inclusiveLeft ? s.from <= e : s.from < e); - if (a || s.from == e && "bookmark" == o.type && (!i || !s.marker.insertLeft)) { - var l = null == s.to || (o.inclusiveRight ? s.to >= e : s.to > e); - (n || (n = [])).push(new j(o, s.from, l ? null : s.to)) - } - } - return n - } - - function Y(t, e, i) { - var n; - if (t) - for (var r = 0; r < t.length; ++r) { - var s = t[r], - o = s.marker, - a = null == s.to || (o.inclusiveRight ? s.to >= e : s.to > e); - if (a || s.from == e && "bookmark" == o.type && (!i || s.marker.insertLeft)) { - var l = null == s.from || (o.inclusiveLeft ? s.from <= e : s.from < e); - (n || (n = [])).push(new j(o, l ? null : s.from - e, null == s.to ? null : s.to - e)) - } - } - return n - } - - function X(t, e) { - if (e.full) return null; - var i = A(t, e.from.line) && T(t, e.from.line).markedSpans, - n = A(t, e.to.line) && T(t, e.to.line).markedSpans; - if (!i && !n) return null; - var r = e.from.ch, - s = e.to.ch, - o = 0 == I(e.from, e.to), - a = G(i, r, o), - l = Y(n, s, o), - c = 1 == e.text.length, - u = g(e.text).length + (c ? r : 0); - if (a) - for (var h = 0; h < a.length; ++h) { - var d = a[h]; - if (null == d.to) { - var f = U(l, d.marker); - f ? c && (d.to = null == f.to ? null : f.to + u) : d.to = r - } - } - if (l) - for (var p = 0; p < l.length; ++p) { - var m = l[p]; - if (null != m.to && (m.to += u), null == m.from) { - var v = U(a, m.marker); - v || (m.from = u, c && (a || (a = [])).push(m)) - } else m.from += u, c && (a || (a = [])).push(m) - } - a && (a = J(a)), l && l != a && (l = J(l)); - var y = [a]; - if (!c) { - var b, x = e.text.length - 2; - if (x > 0 && a) - for (var w = 0; w < a.length; ++w) null == a[w].to && (b || (b = [])).push(new j(a[w].marker, null, null)); - for (var C = 0; C < x; ++C) y.push(b); - y.push(l) - } - return y - } - - function J(t) { - for (var e = 0; e < t.length; ++e) { - var i = t[e]; - null != i.from && i.from == i.to && !1 !== i.marker.clearWhenEmpty && t.splice(e--, 1) - } - return t.length ? t : null - } - - function Z(t, e, i) { - var n = null; - if (t.iter(e.line, i.line + 1, function(t) { - if (t.markedSpans) - for (var e = 0; e < t.markedSpans.length; ++e) { - var i = t.markedSpans[e].marker; - !i.readOnly || n && -1 != d(n, i) || (n || (n = [])).push(i) - } - }), !n) return null; - for (var r = [{ - from: e, - to: i - }], s = 0; s < n.length; ++s) - for (var o = n[s], a = o.find(0), l = 0; l < r.length; ++l) { - var c = r[l]; - if (!(I(c.to, a.from) < 0 || I(c.from, a.to) > 0)) { - var u = [l, 1], - h = I(c.from, a.from), - f = I(c.to, a.to); - (h < 0 || !o.inclusiveLeft && !h) && u.push({ - from: c.from, - to: a.from - }), (f > 0 || !o.inclusiveRight && !f) && u.push({ - from: a.to, - to: c.to - }), r.splice.apply(r, u), l += u.length - 1 - } - } - return r - } - - function Q(t) { - var e = t.markedSpans; - if (e) { - for (var i = 0; i < e.length; ++i) e[i].marker.detachLine(t); - t.markedSpans = null - } - } - - function tt(t, e) { - if (e) { - for (var i = 0; i < e.length; ++i) e[i].marker.attachLine(t); - t.markedSpans = e - } - } - - function et(t) { - return t.inclusiveLeft ? -1 : 0 - } - - function it(t) { - return t.inclusiveRight ? 1 : 0 - } - - function nt(t, e) { - var i = t.lines.length - e.lines.length; - if (0 != i) return i; - var n = t.find(), - r = e.find(), - s = I(n.from, r.from) || et(t) - et(e); - if (s) return -s; - var o = I(n.to, r.to) || it(t) - it(e); - return o || e.id - t.id - } - - function rt(t, e) { - var i, n = Do && t.markedSpans; - if (n) - for (var r = void 0, s = 0; s < n.length; ++s) r = n[s], r.marker.collapsed && null == (e ? r.from : r.to) && (!i || nt(i, r.marker) < 0) && (i = r.marker); - return i - } - - function st(t) { - return rt(t, !0) - } - - function ot(t) { - return rt(t, !1) - } - - function at(t, e, i, n, r) { - var s = T(t, e), - o = Do && s.markedSpans; - if (o) - for (var a = 0; a < o.length; ++a) { - var l = o[a]; - if (l.marker.collapsed) { - var c = l.marker.find(0), - u = I(c.from, i) || et(l.marker) - et(r), - h = I(c.to, n) || it(l.marker) - it(r); - if (!(u >= 0 && h <= 0 || u <= 0 && h >= 0) && (u <= 0 && (l.marker.inclusiveRight && r.inclusiveLeft ? I(c.to, i) >= 0 : I(c.to, i) > 0) || u >= 0 && (l.marker.inclusiveRight && r.inclusiveLeft ? I(c.from, n) <= 0 : I(c.from, n) < 0))) return !0 - } - } - } - - function lt(t) { - for (var e; e = st(t);) t = e.find(-1, !0).line; - return t - } - - function ct(t) { - for (var e, i; e = ot(t);) t = e.find(1, !0).line, (i || (i = [])).push(t); - return i - } - - function ut(t, e) { - var i = T(t, e), - n = lt(i); - return i == n ? e : $(n) - } - - function ht(t, e) { - if (e > t.lastLine()) return e; - var i, n = T(t, e); - if (!dt(t, n)) return e; - for (; i = ot(n);) n = i.find(1, !0).line; - return $(n) + 1 - } - - function dt(t, e) { - var i = Do && e.markedSpans; - if (i) - for (var n = void 0, r = 0; r < i.length; ++r) - if (n = i[r], n.marker.collapsed) { - if (null == n.from) return !0; - if (!n.marker.widgetNode && 0 == n.from && n.marker.inclusiveLeft && ft(t, e, n)) return !0 - } - } - - function ft(t, e, i) { - if (null == i.to) { - var n = i.marker.find(1, !0); - return ft(t, n.line, U(n.line.markedSpans, i.marker)) - } - if (i.marker.inclusiveRight && i.to == e.text.length) return !0; - for (var r = void 0, s = 0; s < e.markedSpans.length; ++s) - if (r = e.markedSpans[s], r.marker.collapsed && !r.marker.widgetNode && r.from == i.to && (null == r.to || r.to != i.from) && (r.marker.inclusiveLeft || i.marker.inclusiveRight) && ft(t, e, r)) return !0 - } - - function pt(t) { - t = lt(t); - for (var e = 0, i = t.parent, n = 0; n < i.lines.length; ++n) { - var r = i.lines[n]; - if (r == t) break; - e += r.height - } - for (var s = i.parent; s; i = s, s = i.parent) - for (var o = 0; o < s.children.length; ++o) { - var a = s.children[o]; - if (a == i) break; - e += a.height - } - return e - } - - function gt(t) { - if (0 == t.height) return 0; - for (var e, i = t.text.length, n = t; e = st(n);) { - var r = e.find(0, !0); - n = r.from.line, i += r.from.ch - r.to.ch - } - for (n = t; e = ot(n);) { - var s = e.find(0, !0); - i -= n.text.length - s.from.ch, n = s.to.line, i += n.text.length - s.to.ch - } - return i - } - - function mt(t) { - var e = t.display, - i = t.doc; - e.maxLine = T(i, i.first), e.maxLineLength = gt(e.maxLine), e.maxLineChanged = !0, i.iter(function(t) { - var i = gt(t); - i > e.maxLineLength && (e.maxLineLength = i, e.maxLine = t) - }) - } - - function vt(t, e, i, n) { - if (!t) return n(e, i, "ltr"); - for (var r = !1, s = 0; s < t.length; ++s) { - var o = t[s]; - (o.from < i && o.to > e || e == i && o.to == e) && (n(Math.max(o.from, e), Math.min(o.to, i), 1 == o.level ? "rtl" : "ltr"), r = !0) - } - r || n(e, i, "ltr") - } - - function yt(t) { - return t.level % 2 ? t.to : t.from - } - - function bt(t) { - return t.level % 2 ? t.from : t.to - } - - function xt(t) { - var e = Et(t); - return e ? yt(e[0]) : 0 - } - - function wt(t) { - var e = Et(t); - return e ? bt(g(e)) : t.text.length - } - - function Ct(t, e, i) { - var n = t[0].level; - return e == n || i != n && e < i - } - - function kt(t, e) { - var i; - _o = null; - for (var n = 0; n < t.length; ++n) { - var r = t[n]; - if (r.from < e && r.to > e) return n; - if (r.from == e || r.to == e) { - if (null != i) return Ct(t, r.level, t[i].level) ? (r.from != r.to && (_o = i), n) : (r.from != r.to && (_o = n), i); - i = n - } - } - return i - } - - function St(t, e, i, n) { - if (!n) return e + i; - do { - e += i - } while (e > 0 && k(t.text.charAt(e))); - return e - } - - function Tt(t, e, i, n) { - var r = Et(t); - if (!r) return Mt(t, e, i, n); - for (var s = kt(r, e), o = r[s], a = St(t, e, o.level % 2 ? -i : i, n);;) { - if (a > o.from && a < o.to) return a; - if (a == o.from || a == o.to) return kt(r, a) == s ? a : (o = r[s += i], i > 0 == o.level % 2 ? o.to : o.from); - if (!(o = r[s += i])) return null; - a = i > 0 == o.level % 2 ? St(t, o.to, -1, n) : St(t, o.from, 1, n) - } - } - - function Mt(t, e, i, n) { - var r = e + i; - if (n) - for (; r > 0 && k(t.text.charAt(r));) r += i; - return r < 0 || r > t.text.length ? null : r - } - - function Et(t) { - var e = t.order; - return null == e && (e = t.order = zo(t.text)), e - } - - function Pt(t, e) { - return t._handlers && t._handlers[e] || Fo - } - - function $t(t, e, i) { - if (t.removeEventListener) t.removeEventListener(e, i, !1); - else if (t.detachEvent) t.detachEvent("on" + e, i); - else { - var n = t._handlers, - r = n && n[e]; - if (r) { - var s = d(r, i); - s > -1 && (n[e] = r.slice(0, s).concat(r.slice(s + 1))) - } - } - } - - function Lt(t, e) { - var i = Pt(t, e); - if (i.length) - for (var n = Array.prototype.slice.call(arguments, 2), r = 0; r < i.length; ++r) i[r].apply(null, n) - } - - function At(t, e, i) { - return "string" == typeof e && (e = { - type: e, - preventDefault: function() { - this.defaultPrevented = !0 - } - }), Lt(t, i || e.type, t, e), zt(e) || e.codemirrorIgnore - } - - function Nt(t) { - var e = t._handlers && t._handlers.cursorActivity; - if (e) - for (var i = t.curOp.cursorActivityHandlers || (t.curOp.cursorActivityHandlers = []), n = 0; n < e.length; ++n) - 1 == d(i, e[n]) && i.push(e[n]) - } - - function Ot(t, e) { - return Pt(t, e).length > 0 - } - - function It(t) { - t.prototype.on = function(t, e) { - Ho(this, t, e) - }, t.prototype.off = function(t, e) { - $t(this, t, e) - } - } - - function Dt(t) { - t.preventDefault ? t.preventDefault() : t.returnValue = !1 - } - - function _t(t) { - t.stopPropagation ? t.stopPropagation() : t.cancelBubble = !0 - } - - function zt(t) { - return null != t.defaultPrevented ? t.defaultPrevented : 0 == t.returnValue - } - - function Ft(t) { - Dt(t), _t(t) - } - - function Ht(t) { - return t.target || t.srcElement - } - - function Rt(t) { - var e = t.which; - return null == e && (1 & t.button ? e = 1 : 2 & t.button ? e = 3 : 4 & t.button && (e = 2)), go && t.ctrlKey && 1 == e && (e = 3), e - } - - function Vt(t) { - if (null == So) { - var e = n("span", "​"); - i(t, n("span", [e, document.createTextNode("x")])), 0 != t.firstChild.offsetHeight && (So = e.offsetWidth <= 1 && e.offsetHeight > 2 && !(no && ro < 8)) - } - var r = So ? n("span", "​") : n("span", " ", null, "display: inline-block; width: 1px; margin-right: -1px"); - return r.setAttribute("cm-text", ""), r - } - - function Wt(t) { - if (null != To) return To; - var n = i(t, document.createTextNode("AخA")), - r = bo(n, 0, 1).getBoundingClientRect(), - s = bo(n, 1, 2).getBoundingClientRect(); - return e(t), !(!r || r.left == r.right) && (To = s.right - r.right < 3) - } - - function Bt(t) { - if (null != jo) return jo; - var e = i(t, n("span", "x")), - r = e.getBoundingClientRect(), - s = bo(e, 0, 1).getBoundingClientRect(); - return jo = Math.abs(r.left - s.left) > 1 - } - - function jt(t, e) { - arguments.length > 2 && (e.dependencies = Array.prototype.slice.call(arguments, 2)), Uo[t] = e - } - - function Ut(t, e) { - qo[t] = e - } - - function qt(t) { - if ("string" == typeof t && qo.hasOwnProperty(t)) t = qo[t]; - else if (t && "string" == typeof t.name && qo.hasOwnProperty(t.name)) { - var e = qo[t.name]; - "string" == typeof e && (e = { - name: e - }), t = b(e, t), t.name = e.name - } else { - if ("string" == typeof t && /^[\w\-]+\/[\w\-]+\+xml$/.test(t)) return qt("application/xml"); - if ("string" == typeof t && /^[\w\-]+\/[\w\-]+\+json$/.test(t)) return qt("application/json") - } - return "string" == typeof t ? { - name: t - } : t || { - name: "null" - } - } - - function Kt(t, e) { - e = qt(e); - var i = Uo[e.name]; - if (!i) return Kt(t, "text/plain"); - var n = i(t, e); - if (Ko.hasOwnProperty(e.name)) { - var r = Ko[e.name]; - for (var s in r) r.hasOwnProperty(s) && (n.hasOwnProperty(s) && (n["_" + s] = n[s]), n[s] = r[s]) - } - if (n.name = e.name, e.helperType && (n.helperType = e.helperType), e.modeProps) - for (var o in e.modeProps) n[o] = e.modeProps[o]; - return n - } - - function Gt(t, e) { - c(e, Ko.hasOwnProperty(t) ? Ko[t] : Ko[t] = {}) - } - - function Yt(t, e) { - if (!0 === e) return e; - if (t.copyState) return t.copyState(e); - var i = {}; - for (var n in e) { - var r = e[n]; - r instanceof Array && (r = r.concat([])), i[n] = r - } - return i - } - - function Xt(t, e) { - for (var i; t.innerMode && (i = t.innerMode(e)) && i.mode != t;) e = i.state, t = i.mode; - return i || { - mode: t, - state: e - } - } - - function Jt(t, e, i) { - return !t.startState || t.startState(e, i) - } - - function Zt(t, e, i, n) { - var r = [t.state.modeGen], - s = {}; - oe(t, e.text, t.doc.mode, i, function(t, e) { - return r.push(t, e) - }, s, n); - for (var o = 0; o < t.state.overlays.length; ++o) ! function(i) { - var n = t.state.overlays[i], - o = 1, - a = 0; - oe(t, e.text, n.mode, !0, function(t, e) { - for (var i = o; a < t;) { - var s = r[o]; - s > t && r.splice(o, 1, t, r[o + 1], s), o += 2, a = Math.min(t, s) - } - if (e) - if (n.opaque) r.splice(i, o - i, t, "overlay " + e), o = i + 2; - else - for (; i < o; i += 2) { - var l = r[i + 1]; - r[i + 1] = (l ? l + " " : "") + "overlay " + e - } - }, s) - }(o); - return { - styles: r, - classes: s.bgClass || s.textClass ? s : null - } - } - - function Qt(t, e, i) { - if (!e.styles || e.styles[0] != t.state.modeGen) { - var n = te(t, $(e)), - r = Zt(t, e, e.text.length > t.options.maxHighlightLength ? Yt(t.doc.mode, n) : n); - e.stateAfter = n, e.styles = r.styles, r.classes ? e.styleClasses = r.classes : e.styleClasses && (e.styleClasses = null), i === t.doc.frontier && t.doc.frontier++ - } - return e.styles - } - - function te(t, e, i) { - var n = t.doc, - r = t.display; - if (!n.mode.startState) return !0; - var s = ae(t, e, i), - o = s > n.first && T(n, s - 1).stateAfter; - return o = o ? Yt(n.mode, o) : Jt(n.mode), n.iter(s, e, function(i) { - ee(t, i.text, o); - var a = s == e - 1 || s % 5 == 0 || s >= r.viewFrom && s < r.viewTo; - i.stateAfter = a ? Yt(n.mode, o) : null, ++s - }), i && (n.frontier = s), o - } - - function ee(t, e, i, n) { - var r = t.doc.mode, - s = new Go(e, t.options.tabSize); - for (s.start = s.pos = n || 0, "" == e && ie(r, i); !s.eol();) ne(r, s, i), s.start = s.pos - } - - function ie(t, e) { - if (t.blankLine) return t.blankLine(e); - if (t.innerMode) { - var i = Xt(t, e); - return i.mode.blankLine ? i.mode.blankLine(i.state) : void 0 - } - } - - function ne(t, e, i, n) { - for (var r = 0; r < 10; r++) { - n && (n[0] = Xt(t, i).mode); - var s = t.token(e, i); - if (e.pos > e.start) return s - } - throw new Error("Mode " + t.name + " failed to advance stream.") - } - - function re(t, e, i, n) { - var r, s = function(t) { - return { - start: h.start, - end: h.pos, - string: h.current(), - type: r || null, - state: t ? Yt(o.mode, u) : u - } - }, - o = t.doc, - a = o.mode; - e = H(o, e); - var l, c = T(o, e.line), - u = te(t, e.line, i), - h = new Go(c.text, t.options.tabSize); - for (n && (l = []); - (n || h.pos < e.ch) && !h.eol();) h.start = h.pos, r = ne(a, h, u), n && l.push(s(!0)); - return n ? l : s() - } - - function se(t, e) { - if (t) - for (;;) { - var i = t.match(/(?:^|\s+)line-(background-)?(\S+)/); - if (!i) break; - t = t.slice(0, i.index) + t.slice(i.index + i[0].length); - var n = i[1] ? "bgClass" : "textClass"; - null == e[n] ? e[n] = i[2] : new RegExp("(?:^|s)" + i[2] + "(?:$|s)").test(e[n]) || (e[n] += " " + i[2]) - } - return t - } - - function oe(t, e, i, n, r, s, o) { - var a = i.flattenSpans; - null == a && (a = t.options.flattenSpans); - var l, c = 0, - u = null, - h = new Go(e, t.options.tabSize), - d = t.options.addModeClass && [null]; - for ("" == e && se(ie(i, n), s); !h.eol();) { - if (h.pos > t.options.maxHighlightLength ? (a = !1, o && ee(t, e, n, h.pos), h.pos = e.length, l = null) : l = se(ne(i, h, n, d), s), d) { - var f = d[0].name; - f && (l = "m-" + (l ? f + " " + l : f)) - } - if (!a || u != l) { - for (; c < h.start;) c = Math.min(h.start, c + 5e3), r(c, u); - u = l - } - h.start = h.pos - } - for (; c < h.pos;) { - var p = Math.min(h.pos, c + 5e3); - r(p, u), c = p - } - } - - function ae(t, e, i) { - for (var n, r, s = t.doc, o = i ? -1 : e - (t.doc.mode.innerMode ? 1e3 : 100), a = e; a > o; --a) { - if (a <= s.first) return s.first; - var l = T(s, a - 1); - if (l.stateAfter && (!i || a <= s.frontier)) return a; - var c = u(l.text, null, t.options.tabSize); - (null == r || n > c) && (r = a - 1, n = c) - } - return r - } - - function le(t, e, i) { - this.text = t, tt(this, e), this.height = i ? i(this) : 1 - } - - function ce(t, e, i, n) { - t.text = e, t.stateAfter && (t.stateAfter = null), t.styles && (t.styles = null), null != t.order && (t.order = null), Q(t), tt(t, i); - var r = n ? n(t) : 1; - r != t.height && P(t, r) - } - - function ue(t) { - t.parent = null, Q(t) - } - - function he(t, e) { - if (!t || /^\s*$/.test(t)) return null; - var i = e.addModeClass ? Jo : Xo; - return i[t] || (i[t] = t.replace(/\S+/g, "cm-$&")) - } - - function de(t, e) { - var i = n("span", null, null, so ? "padding-right: .1px" : null), - r = { - pre: n("pre", [i], "CodeMirror-line"), - content: i, - col: 0, - pos: 0, - cm: t, - trailingSpace: !1, - splitSpaces: (no || so) && t.getOption("lineWrapping") - }; - e.measure = {}; - for (var s = 0; s <= (e.rest ? e.rest.length : 0); s++) { - var o = s ? e.rest[s - 1] : e.line, - l = void 0; - r.pos = 0, r.addToken = pe, Wt(t.display.measure) && (l = Et(o)) && (r.addToken = me(r.addToken, l)), r.map = []; - ye(o, r, Qt(t, o, e != t.display.externalMeasured && $(o))), o.styleClasses && (o.styleClasses.bgClass && (r.bgClass = a(o.styleClasses.bgClass, r.bgClass || "")), o.styleClasses.textClass && (r.textClass = a(o.styleClasses.textClass, r.textClass || ""))), 0 == r.map.length && r.map.push(0, 0, r.content.appendChild(Vt(t.display.measure))), 0 == s ? (e.measure.map = r.map, e.measure.cache = {}) : ((e.measure.maps || (e.measure.maps = [])).push(r.map), (e.measure.caches || (e.measure.caches = [])).push({})) - } - if (so) { - var c = r.content.lastChild; - (/\bcm-tab\b/.test(c.className) || c.querySelector && c.querySelector(".cm-tab")) && (r.content.className = "cm-tab-wrap-hack") - } - return Lt(t, "renderLine", t, e.line, r.pre), r.pre.className && (r.textClass = a(r.pre.className, r.textClass || "")), r - } - - function fe(t) { - var e = n("span", "•", "cm-invalidchar"); - return e.title = "\\u" + t.charCodeAt(0).toString(16), e.setAttribute("aria-label", e.title), e - } - - function pe(t, e, i, r, s, o, a) { - if (e) { - var l, c = t.splitSpaces ? ge(e, t.trailingSpace) : e, - u = t.cm.state.specialChars, - h = !1; - if (u.test(e)) { - l = document.createDocumentFragment(); - for (var d = 0;;) { - u.lastIndex = d; - var f = u.exec(e), - g = f ? f.index - d : e.length - d; - if (g) { - var m = document.createTextNode(c.slice(d, d + g)); - no && ro < 9 ? l.appendChild(n("span", [m])) : l.appendChild(m), t.map.push(t.pos, t.pos + g, m), t.col += g, t.pos += g - } - if (!f) break; - d += g + 1; - var v = void 0; - if ("\t" == f[0]) { - var y = t.cm.options.tabSize, - b = y - t.col % y; - v = l.appendChild(n("span", p(b), "cm-tab")), v.setAttribute("role", "presentation"), v.setAttribute("cm-text", "\t"), t.col += b - } else "\r" == f[0] || "\n" == f[0] ? (v = l.appendChild(n("span", "\r" == f[0] ? "␍" : "␤", "cm-invalidchar")), v.setAttribute("cm-text", f[0]), t.col += 1) : (v = t.cm.options.specialCharPlaceholder(f[0]), v.setAttribute("cm-text", f[0]), no && ro < 9 ? l.appendChild(n("span", [v])) : l.appendChild(v), t.col += 1); - t.map.push(t.pos, t.pos + 1, v), t.pos++ - } - } else t.col += e.length, l = document.createTextNode(c), t.map.push(t.pos, t.pos + e.length, l), no && ro < 9 && (h = !0), t.pos += e.length; - if (t.trailingSpace = 32 == c.charCodeAt(e.length - 1), i || r || s || h || a) { - var x = i || ""; - r && (x += r), s && (x += s); - var w = n("span", [l], x, a); - return o && (w.title = o), t.content.appendChild(w) - } - t.content.appendChild(l) - } - } - - function ge(t, e) { - if (t.length > 1 && !/ /.test(t)) return t; - for (var i = e, n = "", r = 0; r < t.length; r++) { - var s = t.charAt(r); - " " != s || !i || r != t.length - 1 && 32 != t.charCodeAt(r + 1) || (s = " "), n += s, i = " " == s - } - return n - } - - function me(t, e) { - return function(i, n, r, s, o, a, l) { - r = r ? r + " cm-force-border" : "cm-force-border"; - for (var c = i.pos, u = c + n.length;;) { - for (var h = void 0, d = 0; d < e.length && (h = e[d], !(h.to > c && h.from <= c)); d++); - if (h.to >= u) return t(i, n, r, s, o, a, l); - t(i, n.slice(0, h.to - c), r, s, null, a, l), s = null, n = n.slice(h.to - c), c = h.to - } - } - } - - function ve(t, e, i, n) { - var r = !n && i.widgetNode; - r && t.map.push(t.pos, t.pos + e, r), !n && t.cm.display.input.needsContentAttribute && (r || (r = t.content.appendChild(document.createElement("span"))), r.setAttribute("cm-marker", i.id)), r && (t.cm.display.input.setUneditable(r), t.content.appendChild(r)), t.pos += e, t.trailingSpace = !1 - } - - function ye(t, e, i) { - var n = t.markedSpans, - r = t.text, - s = 0; - if (n) - for (var o, a, l, c, u, h, d, f = r.length, p = 0, g = 1, m = "", v = 0;;) { - if (v == p) { - l = c = u = h = a = "", d = null, v = 1 / 0; - for (var y = [], b = void 0, x = 0; x < n.length; ++x) { - var w = n[x], - C = w.marker; - "bookmark" == C.type && w.from == p && C.widgetNode ? y.push(C) : w.from <= p && (null == w.to || w.to > p || C.collapsed && w.to == p && w.from == p) ? (null != w.to && w.to != p && v > w.to && (v = w.to, c = ""), C.className && (l += " " + C.className), C.css && (a = (a ? a + ";" : "") + C.css), C.startStyle && w.from == p && (u += " " + C.startStyle), C.endStyle && w.to == v && (b || (b = [])).push(C.endStyle, w.to), C.title && !h && (h = C.title), C.collapsed && (!d || nt(d.marker, C) < 0) && (d = w)) : w.from > p && v > w.from && (v = w.from) - } - if (b) - for (var k = 0; k < b.length; k += 2) b[k + 1] == v && (c += " " + b[k]); - if (!d || d.from == p) - for (var S = 0; S < y.length; ++S) ve(e, 0, y[S]); - if (d && (d.from || 0) == p) { - if (ve(e, (null == d.to ? f + 1 : d.to) - p, d.marker, null == d.from), null == d.to) return; - d.to == p && (d = !1) - } - } - if (p >= f) break; - for (var T = Math.min(f, v);;) { - if (m) { - var M = p + m.length; - if (!d) { - var E = M > T ? m.slice(0, T - p) : m; - e.addToken(e, E, o ? o + l : l, u, p + E.length == v ? c : "", h, a) - } - if (M >= T) { - m = m.slice(T - p), p = T; - break - } - p = M, u = "" - } - m = r.slice(s, s = i[g++]), o = he(i[g++], e.cm.options) - } - } else - for (var P = 1; P < i.length; P += 2) e.addToken(e, r.slice(s, s = i[P]), he(i[P + 1], e.cm.options)) - } - - function be(t, e, i) { - this.line = e, this.rest = ct(e), this.size = this.rest ? $(g(this.rest)) - i + 1 : 1, this.node = this.text = null, this.hidden = dt(t, e) - } - - function xe(t, e, i) { - for (var n, r = [], s = e; s < i; s = n) { - var o = new be(t.doc, T(t.doc, s), s); - n = s + o.size, r.push(o) - } - return r - } - - function we(t) { - Zo ? Zo.ops.push(t) : t.ownsGroup = Zo = { - ops: [t], - delayedCallbacks: [] - } - } - - function Ce(t) { - var e = t.delayedCallbacks, - i = 0; - do { - for (; i < e.length; i++) e[i].call(null); - for (var n = 0; n < t.ops.length; n++) { - var r = t.ops[n]; - if (r.cursorActivityHandlers) - for (; r.cursorActivityCalled < r.cursorActivityHandlers.length;) r.cursorActivityHandlers[r.cursorActivityCalled++].call(null, r.cm) - } - } while (i < e.length) - } - - function ke(t, e) { - var i = t.ownsGroup; - if (i) try { - Ce(i) - } finally { - Zo = null, e(i) - } - } - - function Se(t, e) { - var i = Pt(t, e); - if (i.length) { - var n, r = Array.prototype.slice.call(arguments, 2); - Zo ? n = Zo.delayedCallbacks : Qo ? n = Qo : (n = Qo = [], setTimeout(Te, 0)); - for (var s = 0; s < i.length; ++s) ! function(t) { - n.push(function() { - return i[t].apply(null, r) - }) - }(s) - } - } - - function Te() { - var t = Qo; - Qo = null; - for (var e = 0; e < t.length; ++e) t[e]() - } - - function Me(t, e, i, n) { - for (var r = 0; r < e.changes.length; r++) { - var s = e.changes[r]; - "text" == s ? Le(t, e) : "gutter" == s ? Ne(t, e, i, n) : "class" == s ? Ae(e) : "widget" == s && Oe(t, e, n) - } - e.changes = null - } - - function Ee(t) { - return t.node == t.text && (t.node = n("div", null, null, "position: relative"), t.text.parentNode && t.text.parentNode.replaceChild(t.node, t.text), t.node.appendChild(t.text), no && ro < 8 && (t.node.style.zIndex = 2)), t.node - } - - function Pe(t) { - var e = t.bgClass ? t.bgClass + " " + (t.line.bgClass || "") : t.line.bgClass; - if (e && (e += " CodeMirror-linebackground"), t.background) e ? t.background.className = e : (t.background.parentNode.removeChild(t.background), t.background = null); - else if (e) { - var i = Ee(t); - t.background = i.insertBefore(n("div", null, e), i.firstChild) - } - } - - function $e(t, e) { - var i = t.display.externalMeasured; - return i && i.line == e.line ? (t.display.externalMeasured = null, e.measure = i.measure, i.built) : de(t, e) - } - - function Le(t, e) { - var i = e.text.className, - n = $e(t, e); - e.text == e.node && (e.node = n.pre), e.text.parentNode.replaceChild(n.pre, e.text), e.text = n.pre, n.bgClass != e.bgClass || n.textClass != e.textClass ? (e.bgClass = n.bgClass, e.textClass = n.textClass, Ae(e)) : i && (e.text.className = i) - } - - function Ae(t) { - Pe(t), t.line.wrapClass ? Ee(t).className = t.line.wrapClass : t.node != t.text && (t.node.className = ""); - var e = t.textClass ? t.textClass + " " + (t.line.textClass || "") : t.line.textClass; - t.text.className = e || "" - } - - function Ne(t, e, i, r) { - if (e.gutter && (e.node.removeChild(e.gutter), e.gutter = null), e.gutterBackground && (e.node.removeChild(e.gutterBackground), e.gutterBackground = null), e.line.gutterClass) { - var s = Ee(e); - e.gutterBackground = n("div", null, "CodeMirror-gutter-background " + e.line.gutterClass, "left: " + (t.options.fixedGutter ? r.fixedPos : -r.gutterTotalWidth) + "px; width: " + r.gutterTotalWidth + "px"), s.insertBefore(e.gutterBackground, e.text) - } - var o = e.line.gutterMarkers; - if (t.options.lineNumbers || o) { - var a = Ee(e), - l = e.gutter = n("div", null, "CodeMirror-gutter-wrapper", "left: " + (t.options.fixedGutter ? r.fixedPos : -r.gutterTotalWidth) + "px"); - if (t.display.input.setUneditable(l), a.insertBefore(l, e.text), e.line.gutterClass && (l.className += " " + e.line.gutterClass), !t.options.lineNumbers || o && o["CodeMirror-linenumbers"] || (e.lineNumber = l.appendChild(n("div", N(t.options, i), "CodeMirror-linenumber CodeMirror-gutter-elt", "left: " + r.gutterLeft["CodeMirror-linenumbers"] + "px; width: " + t.display.lineNumInnerWidth + "px"))), o) - for (var c = 0; c < t.options.gutters.length; ++c) { - var u = t.options.gutters[c], - h = o.hasOwnProperty(u) && o[u]; - h && l.appendChild(n("div", [h], "CodeMirror-gutter-elt", "left: " + r.gutterLeft[u] + "px; width: " + r.gutterWidth[u] + "px")) - } - } - } - - function Oe(t, e, i) { - e.alignable && (e.alignable = null); - for (var n = e.node.firstChild, r = void 0; n; n = r) r = n.nextSibling, "CodeMirror-linewidget" == n.className && e.node.removeChild(n); - De(t, e, i) - } - - function Ie(t, e, i, n) { - var r = $e(t, e); - return e.text = e.node = r.pre, r.bgClass && (e.bgClass = r.bgClass), r.textClass && (e.textClass = r.textClass), Ae(e), Ne(t, e, i, n), De(t, e, n), e.node - } - - function De(t, e, i) { - if (_e(t, e.line, e, i, !0), e.rest) - for (var n = 0; n < e.rest.length; n++) _e(t, e.rest[n], e, i, !1) - } - - function _e(t, e, i, r, s) { - if (e.widgets) - for (var o = Ee(i), a = 0, l = e.widgets; a < l.length; ++a) { - var c = l[a], - u = n("div", [c.node], "CodeMirror-linewidget"); - c.handleMouseEvents || u.setAttribute("cm-ignore-events", "true"), ze(c, u, i, r), t.display.input.setUneditable(u), s && c.above ? o.insertBefore(u, i.gutter || i.text) : o.appendChild(u), Se(c, "redraw") - } - } - - function ze(t, e, i, n) { - if (t.noHScroll) { - (i.alignable || (i.alignable = [])).push(e); - var r = n.wrapperWidth; - e.style.left = n.fixedPos + "px", t.coverGutter || (r -= n.gutterTotalWidth, e.style.paddingLeft = n.gutterTotalWidth + "px"), e.style.width = r + "px" - } - t.coverGutter && (e.style.zIndex = 5, e.style.position = "relative", t.noHScroll || (e.style.marginLeft = -n.gutterTotalWidth + "px")) - } - - function Fe(t) { - if (null != t.height) return t.height; - var e = t.doc.cm; - if (!e) return 0; - if (!r(document.body, t.node)) { - var s = "position: relative;"; - t.coverGutter && (s += "margin-left: -" + e.display.gutters.offsetWidth + "px;"), t.noHScroll && (s += "width: " + e.display.wrapper.clientWidth + "px;"), i(e.display.measure, n("div", [t.node], null, s)) - } - return t.height = t.node.parentNode.offsetHeight - } - - function He(t, e) { - for (var i = Ht(e); i != t.wrapper; i = i.parentNode) - if (!i || 1 == i.nodeType && "true" == i.getAttribute("cm-ignore-events") || i.parentNode == t.sizer && i != t.mover) return !0 - } - - function Re(t) { - return t.lineSpace.offsetTop - } - - function Ve(t) { - return t.mover.offsetHeight - t.lineSpace.offsetHeight - } - - function We(t) { - if (t.cachedPaddingH) return t.cachedPaddingH; - var e = i(t.measure, n("pre", "x")), - r = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle, - s = { - left: parseInt(r.paddingLeft), - right: parseInt(r.paddingRight) - }; - return isNaN(s.left) || isNaN(s.right) || (t.cachedPaddingH = s), s - } - - function Be(t) { - return Mo - t.display.nativeBarWidth - } - - function je(t) { - return t.display.scroller.clientWidth - Be(t) - t.display.barWidth - } - - function Ue(t) { - return t.display.scroller.clientHeight - Be(t) - t.display.barHeight - } - - function qe(t, e, i) { - var n = t.options.lineWrapping, - r = n && je(t); - if (!e.measure.heights || n && e.measure.width != r) { - var s = e.measure.heights = []; - if (n) { - e.measure.width = r; - for (var o = e.text.firstChild.getClientRects(), a = 0; a < o.length - 1; a++) { - var l = o[a], - c = o[a + 1]; - Math.abs(l.bottom - c.bottom) > 2 && s.push((l.bottom + c.top) / 2 - i.top) - } - } - s.push(i.bottom - i.top) - } - } - - function Ke(t, e, i) { - if (t.line == e) return { - map: t.measure.map, - cache: t.measure.cache - }; - for (var n = 0; n < t.rest.length; n++) - if (t.rest[n] == e) return { - map: t.measure.maps[n], - cache: t.measure.caches[n] - }; - for (var r = 0; r < t.rest.length; r++) - if ($(t.rest[r]) > i) return { - map: t.measure.maps[r], - cache: t.measure.caches[r], - before: !0 - } - } - - function Ge(t, e) { - e = lt(e); - var n = $(e), - r = t.display.externalMeasured = new be(t.doc, e, n); - r.lineN = n; - var s = r.built = de(t, r); - return r.text = s.pre, i(t.display.lineMeasure, s.pre), r - } - - function Ye(t, e, i, n) { - return Ze(t, Je(t, e), i, n) - } - - function Xe(t, e) { - if (e >= t.display.viewFrom && e < t.display.viewTo) return t.display.view[ki(t, e)]; - var i = t.display.externalMeasured; - return i && e >= i.lineN && e < i.lineN + i.size ? i : void 0 - } - - function Je(t, e) { - var i = $(e), - n = Xe(t, i); - n && !n.text ? n = null : n && n.changes && (Me(t, n, i, yi(t)), t.curOp.forceUpdate = !0), n || (n = Ge(t, e)); - var r = Ke(n, e, i); - return { - line: e, - view: n, - rect: null, - map: r.map, - cache: r.cache, - before: r.before, - hasHeights: !1 - } - } - - function Ze(t, e, i, n, r) { - e.before && (i = -1); - var s, o = i + (n || ""); - return e.cache.hasOwnProperty(o) ? s = e.cache[o] : (e.rect || (e.rect = e.view.text.getBoundingClientRect()), e.hasHeights || (qe(t, e.view, e.rect), e.hasHeights = !0), s = ei(t, e, i, n), s.bogus || (e.cache[o] = s)), { - left: s.left, - right: s.right, - top: r ? s.rtop : s.top, - bottom: r ? s.rbottom : s.bottom - } - } - - function Qe(t, e, i) { - for (var n, r, s, o, a, l, c = 0; c < t.length; c += 3) - if (a = t[c], l = t[c + 1], e < a ? (r = 0, s = 1, o = "left") : e < l ? (r = e - a, s = r + 1) : (c == t.length - 3 || e == l && t[c + 3] > e) && (s = l - a, r = s - 1, e >= l && (o = "right")), null != r) { - if (n = t[c + 2], a == l && i == (n.insertLeft ? "left" : "right") && (o = i), "left" == i && 0 == r) - for (; c && t[c - 2] == t[c - 3] && t[c - 1].insertLeft;) n = t[2 + (c -= 3)], o = "left"; - if ("right" == i && r == l - a) - for (; c < t.length - 3 && t[c + 3] == t[c + 4] && !t[c + 5].insertLeft;) n = t[(c += 3) + 2], o = "right"; - break - } - return { - node: n, - start: r, - end: s, - collapse: o, - coverStart: a, - coverEnd: l - } - } - - function ti(t, e) { - var i = ta; - if ("left" == e) - for (var n = 0; n < t.length && (i = t[n]).left == i.right; n++); - else - for (var r = t.length - 1; r >= 0 && (i = t[r]).left == i.right; r--); - return i - } - - function ei(t, e, i, n) { - var r, s = Qe(e.map, i, n), - o = s.node, - a = s.start, - l = s.end, - c = s.collapse; - if (3 == o.nodeType) { - for (var u = 0; u < 4; u++) { - for (; a && k(e.line.text.charAt(s.coverStart + a));) --a; - for (; s.coverStart + l < s.coverEnd && k(e.line.text.charAt(s.coverStart + l));) ++l; - if (r = no && ro < 9 && 0 == a && l == s.coverEnd - s.coverStart ? o.parentNode.getBoundingClientRect() : ti(bo(o, a, l).getClientRects(), n), r.left || r.right || 0 == a) break; - l = a, a -= 1, c = "right" - } - no && ro < 11 && (r = ii(t.display.measure, r)) - } else { - a > 0 && (c = n = "right"); - var h; - r = t.options.lineWrapping && (h = o.getClientRects()).length > 1 ? h["right" == n ? h.length - 1 : 0] : o.getBoundingClientRect() - } - if (no && ro < 9 && !a && (!r || !r.left && !r.right)) { - var d = o.parentNode.getClientRects()[0]; - r = d ? { - left: d.left, - right: d.left + vi(t.display), - top: d.top, - bottom: d.bottom - } : ta - } - for (var f = r.top - e.rect.top, p = r.bottom - e.rect.top, g = (f + p) / 2, m = e.view.measure.heights, v = 0; v < m.length - 1 && !(g < m[v]); v++); - var y = v ? m[v - 1] : 0, - b = m[v], - x = { - left: ("right" == c ? r.right : r.left) - e.rect.left, - right: ("left" == c ? r.left : r.right) - e.rect.left, - top: y, - bottom: b - }; - return r.left || r.right || (x.bogus = !0), t.options.singleCursorHeightPerLine || (x.rtop = f, x.rbottom = p), x - } - - function ii(t, e) { - if (!window.screen || null == screen.logicalXDPI || screen.logicalXDPI == screen.deviceXDPI || !Bt(t)) return e; - var i = screen.logicalXDPI / screen.deviceXDPI, - n = screen.logicalYDPI / screen.deviceYDPI; - return { - left: e.left * i, - right: e.right * i, - top: e.top * n, - bottom: e.bottom * n - } - } - - function ni(t) { - if (t.measure && (t.measure.cache = {}, t.measure.heights = null, t.rest)) - for (var e = 0; e < t.rest.length; e++) t.measure.caches[e] = {} - } - - function ri(t) { - t.display.externalMeasure = null, e(t.display.lineMeasure); - for (var i = 0; i < t.display.view.length; i++) ni(t.display.view[i]) - } - - function si(t) { - ri(t), t.display.cachedCharWidth = t.display.cachedTextHeight = t.display.cachedPaddingH = null, t.options.lineWrapping || (t.display.maxLineChanged = !0), t.display.lineNumChars = null - } - - function oi() { - return window.pageXOffset || (document.documentElement || document.body).scrollLeft - } - - function ai() { - return window.pageYOffset || (document.documentElement || document.body).scrollTop - } - - function li(t, e, i, n, r) { - if (!r && e.widgets) - for (var s = 0; s < e.widgets.length; ++s) - if (e.widgets[s].above) { - var o = Fe(e.widgets[s]); - i.top += o, i.bottom += o - } - if ("line" == n) return i; - n || (n = "local"); - var a = pt(e); - if ("local" == n ? a += Re(t.display) : a -= t.display.viewOffset, "page" == n || "window" == n) { - var l = t.display.lineSpace.getBoundingClientRect(); - a += l.top + ("window" == n ? 0 : ai()); - var c = l.left + ("window" == n ? 0 : oi()); - i.left += c, i.right += c - } - return i.top += a, i.bottom += a, i - } - - function ci(t, e, i) { - if ("div" == i) return e; - var n = e.left, - r = e.top; - if ("page" == i) n -= oi(), r -= ai(); - else if ("local" == i || !i) { - var s = t.display.sizer.getBoundingClientRect(); - n += s.left, r += s.top - } - var o = t.display.lineSpace.getBoundingClientRect(); - return { - left: n - o.left, - top: r - o.top - } - } - - function ui(t, e, i, n, r) { - return n || (n = T(t.doc, e.line)), li(t, n, Ye(t, n, e.ch, r), i) - } - - function hi(t, e, i, n, r, s) { - function o(e, o) { - var a = Ze(t, r, e, o ? "right" : "left", s); - return o ? a.left = a.right : a.right = a.left, li(t, n, a, i) - } - - function a(t, e) { - var i = l[e], - n = i.level % 2; - return t == yt(i) && e && i.level < l[e - 1].level ? (i = l[--e], t = bt(i) - (i.level % 2 ? 0 : 1), n = !0) : t == bt(i) && e < l.length - 1 && i.level < l[e + 1].level && (i = l[++e], t = yt(i) - i.level % 2, n = !1), n && t == i.to && t > i.from ? o(t - 1) : o(t, n) - } - n = n || T(t.doc, e.line), r || (r = Je(t, n)); - var l = Et(n), - c = e.ch; - if (!l) return o(c); - var u = kt(l, c), - h = a(c, u); - return null != _o && (h.other = a(c, _o)), h - } - - function di(t, e) { - var i = 0; - e = H(t.doc, e), t.options.lineWrapping || (i = vi(t.display) * e.ch); - var n = T(t.doc, e.line), - r = pt(n) + Re(t.display); - return { - left: i, - right: i, - top: r, - bottom: r + n.height - } - } - - function fi(t, e, i, n) { - var r = O(t, e); - return r.xRel = n, i && (r.outside = !0), r - } - - function pi(t, e, i) { - var n = t.doc; - if ((i += t.display.viewOffset) < 0) return fi(n.first, 0, !0, -1); - var r = L(n, i), - s = n.first + n.size - 1; - if (r > s) return fi(n.first + n.size - 1, T(n, s).text.length, !0, 1); - e < 0 && (e = 0); - for (var o = T(n, r);;) { - var a = gi(t, o, r, e, i), - l = ot(o), - c = l && l.find(0, !0); - if (!l || !(a.ch > c.from.ch || a.ch == c.from.ch && a.xRel > 0)) return a; - r = $(o = c.to.line) - } - } - - function gi(t, e, i, n, r) { - function s(n) { - var r = hi(t, O(i, n), "line", e, c); - return a = !0, o > r.bottom ? r.left - l : o < r.top ? r.left + l : (a = !1, r.left) - } - var o = r - pt(e), - a = !1, - l = 2 * t.display.wrapper.clientWidth, - c = Je(t, e), - u = Et(e), - h = e.text.length, - d = xt(e), - f = wt(e), - p = s(d), - g = a, - m = s(f), - v = a; - if (n > m) return fi(i, f, v, 1); - for (;;) { - if (u ? f == d || f == Tt(e, d, 1) : f - d <= 1) { - var y = n < p || n - p <= m - n ? d : f, - b = y == d ? g : v, - x = n - (y == d ? p : m); - if (v && !u && !/\s/.test(e.text.charAt(y)) && x > 0 && y < e.text.length && c.view.measure.heights.length > 1) { - var w = Ze(t, c, y, "right"); - o <= w.bottom && o >= w.top && Math.abs(n - w.right) < x && (b = !1, y++, x = n - w.right) - } - for (; k(e.text.charAt(y));) ++y; - return fi(i, y, b, x < -1 ? -1 : x > 1 ? 1 : 0) - } - var C = Math.ceil(h / 2), - S = d + C; - if (u) { - S = d; - for (var T = 0; T < C; ++T) S = Tt(e, S, 1) - } - var M = s(S); - M > n ? (f = S, m = M, (v = a) && (m += 1e3), h = C) : (d = S, p = M, g = a, h -= C) - } - } - - function mi(t) { - if (null != t.cachedTextHeight) return t.cachedTextHeight; - if (null == Yo) { - Yo = n("pre"); - for (var r = 0; r < 49; ++r) Yo.appendChild(document.createTextNode("x")), Yo.appendChild(n("br")); - Yo.appendChild(document.createTextNode("x")) - } - i(t.measure, Yo); - var s = Yo.offsetHeight / 50; - return s > 3 && (t.cachedTextHeight = s), e(t.measure), s || 1 - } - - function vi(t) { - if (null != t.cachedCharWidth) return t.cachedCharWidth; - var e = n("span", "xxxxxxxxxx"), - r = n("pre", [e]); - i(t.measure, r); - var s = e.getBoundingClientRect(), - o = (s.right - s.left) / 10; - return o > 2 && (t.cachedCharWidth = o), o || 10 - } - - function yi(t) { - for (var e = t.display, i = {}, n = {}, r = e.gutters.clientLeft, s = e.gutters.firstChild, o = 0; s; s = s.nextSibling, ++o) i[t.options.gutters[o]] = s.offsetLeft + s.clientLeft + r, n[t.options.gutters[o]] = s.clientWidth; - return { - fixedPos: bi(e), - gutterTotalWidth: e.gutters.offsetWidth, - gutterLeft: i, - gutterWidth: n, - wrapperWidth: e.wrapper.clientWidth - } - } - - function bi(t) { - return t.scroller.getBoundingClientRect().left - t.sizer.getBoundingClientRect().left - } - - function xi(t) { - var e = mi(t.display), - i = t.options.lineWrapping, - n = i && Math.max(5, t.display.scroller.clientWidth / vi(t.display) - 3); - return function(r) { - if (dt(t.doc, r)) return 0; - var s = 0; - if (r.widgets) - for (var o = 0; o < r.widgets.length; o++) r.widgets[o].height && (s += r.widgets[o].height); - return i ? s + (Math.ceil(r.text.length / n) || 1) * e : s + e - } - } - - function wi(t) { - var e = t.doc, - i = xi(t); - e.iter(function(t) { - var e = i(t); - e != t.height && P(t, e) - }) - } - - function Ci(t, e, i, n) { - var r = t.display; - if (!i && "true" == Ht(e).getAttribute("cm-not-content")) return null; - var s, o, a = r.lineSpace.getBoundingClientRect(); - try { - s = e.clientX - a.left, o = e.clientY - a.top - } catch (e) { - return null - } - var l, c = pi(t, s, o); - if (n && 1 == c.xRel && (l = T(t.doc, c.line).text).length == c.ch) { - var h = u(l, l.length, t.options.tabSize) - l.length; - c = O(c.line, Math.max(0, Math.round((s - We(t.display).left) / vi(t.display)) - h)) - } - return c - } - - function ki(t, e) { - if (e >= t.display.viewTo) return null; - if ((e -= t.display.viewFrom) < 0) return null; - for (var i = t.display.view, n = 0; n < i.length; n++) - if ((e -= i[n].size) < 0) return n - } - - function Si(t) { - t.display.input.showSelection(t.display.input.prepareSelection()) - } - - function Ti(t, e) { - for (var i = t.doc, n = {}, r = n.cursors = document.createDocumentFragment(), s = n.selection = document.createDocumentFragment(), o = 0; o < i.sel.ranges.length; o++) - if (!1 !== e || o != i.sel.primIndex) { - var a = i.sel.ranges[o]; - if (!(a.from().line >= t.display.viewTo || a.to().line < t.display.viewFrom)) { - var l = a.empty(); - (l || t.options.showCursorWhenSelecting) && Mi(t, a.head, r), l || Ei(t, a, s) - } - } - return n - } - - function Mi(t, e, i) { - var r = hi(t, e, "div", null, null, !t.options.singleCursorHeightPerLine), - s = i.appendChild(n("div", " ", "CodeMirror-cursor")); - if (s.style.left = r.left + "px", s.style.top = r.top + "px", s.style.height = Math.max(0, r.bottom - r.top) * t.options.cursorHeight + "px", r.other) { - var o = i.appendChild(n("div", " ", "CodeMirror-cursor CodeMirror-secondarycursor")); - o.style.display = "", o.style.left = r.other.left + "px", o.style.top = r.other.top + "px", o.style.height = .85 * (r.other.bottom - r.other.top) + "px" - } - } - - function Ei(t, e, i) { - function r(t, e, i, r) { - e < 0 && (e = 0), e = Math.round(e), r = Math.round(r), l.appendChild(n("div", null, "CodeMirror-selected", "position: absolute; left: " + t + "px;\n top: " + e + "px; width: " + (null == i ? h - t : i) + "px;\n height: " + (r - e) + "px")) - } - - function s(e, i, n) { - function s(i, n) { - return ui(t, O(e, i), "div", c, n) - } - var o, l, c = T(a, e), - d = c.text.length; - return vt(Et(c), i || 0, null == n ? d : n, function(t, e, a) { - var c, f, p, g = s(t, "left"); - if (t == e) c = g, f = p = g.left; - else { - if (c = s(e - 1, "right"), "rtl" == a) { - var m = g; - g = c, c = m - } - f = g.left, p = c.right - } - null == i && 0 == t && (f = u), c.top - g.top > 3 && (r(f, g.top, null, g.bottom), f = u, g.bottom < c.top && r(f, g.bottom, null, c.top)), null == n && e == d && (p = h), (!o || g.top < o.top || g.top == o.top && g.left < o.left) && (o = g), (!l || c.bottom > l.bottom || c.bottom == l.bottom && c.right > l.right) && (l = c), f < u + 1 && (f = u), r(f, c.top, p - f, c.bottom) - }), { - start: o, - end: l - } - } - var o = t.display, - a = t.doc, - l = document.createDocumentFragment(), - c = We(t.display), - u = c.left, - h = Math.max(o.sizerWidth, je(t) - o.sizer.offsetLeft) - c.right, - d = e.from(), - f = e.to(); - if (d.line == f.line) s(d.line, d.ch, f.ch); - else { - var p = T(a, d.line), - g = T(a, f.line), - m = lt(p) == lt(g), - v = s(d.line, d.ch, m ? p.text.length + 1 : null).end, - y = s(f.line, m ? 0 : null, f.ch).start; - m && (v.top < y.top - 2 ? (r(v.right, v.top, null, v.bottom), r(u, y.top, y.left, y.bottom)) : r(v.right, v.top, y.left - v.right, v.bottom)), v.bottom < y.top && r(u, v.bottom, null, y.top) - } - i.appendChild(l) - } - - function Pi(t) { - if (t.state.focused) { - var e = t.display; - clearInterval(e.blinker); - var i = !0; - e.cursorDiv.style.visibility = "", t.options.cursorBlinkRate > 0 ? e.blinker = setInterval(function() { - return e.cursorDiv.style.visibility = (i = !i) ? "" : "hidden" - }, t.options.cursorBlinkRate) : t.options.cursorBlinkRate < 0 && (e.cursorDiv.style.visibility = "hidden") - } - } - - function $i(t) { - t.state.focused || (t.display.input.focus(), Ai(t)) - } - - function Li(t) { - t.state.delayingBlurEvent = !0, setTimeout(function() { - t.state.delayingBlurEvent && (t.state.delayingBlurEvent = !1, Ni(t)) - }, 100) - } - - function Ai(t, e) { - t.state.delayingBlurEvent && (t.state.delayingBlurEvent = !1), "nocursor" != t.options.readOnly && (t.state.focused || (Lt(t, "focus", t, e), t.state.focused = !0, o(t.display.wrapper, "CodeMirror-focused"), t.curOp || t.display.selForContextMenu == t.doc.sel || (t.display.input.reset(), so && setTimeout(function() { - return t.display.input.reset(!0) - }, 20)), t.display.input.receivedFocus()), Pi(t)) - } - - function Ni(t, e) { - t.state.delayingBlurEvent || (t.state.focused && (Lt(t, "blur", t, e), t.state.focused = !1, Co(t.display.wrapper, "CodeMirror-focused")), clearInterval(t.display.blinker), setTimeout(function() { - t.state.focused || (t.display.shift = !1) - }, 150)) - } - - function Oi(t) { - var e = t.display, - i = e.view; - if (e.alignWidgets || e.gutters.firstChild && t.options.fixedGutter) { - for (var n = bi(e) - e.scroller.scrollLeft + t.doc.scrollLeft, r = e.gutters.offsetWidth, s = n + "px", o = 0; o < i.length; o++) - if (!i[o].hidden) { - t.options.fixedGutter && (i[o].gutter && (i[o].gutter.style.left = s), i[o].gutterBackground && (i[o].gutterBackground.style.left = s)); - var a = i[o].alignable; - if (a) - for (var l = 0; l < a.length; l++) a[l].style.left = s - } - t.options.fixedGutter && (e.gutters.style.left = n + r + "px") - } - } - - function Ii(t) { - if (!t.options.lineNumbers) return !1; - var e = t.doc, - i = N(t.options, e.first + e.size - 1), - r = t.display; - if (i.length != r.lineNumChars) { - var s = r.measure.appendChild(n("div", [n("div", i)], "CodeMirror-linenumber CodeMirror-gutter-elt")), - o = s.firstChild.offsetWidth, - a = s.offsetWidth - o; - return r.lineGutter.style.width = "", r.lineNumInnerWidth = Math.max(o, r.lineGutter.offsetWidth - a) + 1, r.lineNumWidth = r.lineNumInnerWidth + a, r.lineNumChars = r.lineNumInnerWidth ? i.length : -1, r.lineGutter.style.width = r.lineNumWidth + "px", $n(t), !0 - } - return !1 - } - - function Di(t) { - for (var e = t.display, i = e.lineDiv.offsetTop, n = 0; n < e.view.length; n++) { - var r = e.view[n], - s = void 0; - if (!r.hidden) { - if (no && ro < 8) { - var o = r.node.offsetTop + r.node.offsetHeight; - s = o - i, i = o - } else { - var a = r.node.getBoundingClientRect(); - s = a.bottom - a.top - } - var l = r.line.height - s; - if (s < 2 && (s = mi(e)), (l > .001 || l < -.001) && (P(r.line, s), _i(r.line), r.rest)) - for (var c = 0; c < r.rest.length; c++) _i(r.rest[c]) - } - } - } - - function _i(t) { - if (t.widgets) - for (var e = 0; e < t.widgets.length; ++e) t.widgets[e].height = t.widgets[e].node.parentNode.offsetHeight - } - - function zi(t, e, i) { - var n = i && null != i.top ? Math.max(0, i.top) : t.scroller.scrollTop; - n = Math.floor(n - Re(t)); - var r = i && null != i.bottom ? i.bottom : n + t.wrapper.clientHeight, - s = L(e, n), - o = L(e, r); - if (i && i.ensure) { - var a = i.ensure.from.line, - l = i.ensure.to.line; - a < s ? (s = a, o = L(e, pt(T(e, a)) + t.wrapper.clientHeight)) : Math.min(l, e.lastLine()) >= o && (s = L(e, pt(T(e, l)) - t.wrapper.clientHeight), o = l) - } - return { - from: s, - to: Math.max(o, s + 1) - } - } - - function Fi(t, e) { - Math.abs(t.doc.scrollTop - e) < 2 || (t.doc.scrollTop = e, to || En(t, { - top: e - }), t.display.scroller.scrollTop != e && (t.display.scroller.scrollTop = e), t.display.scrollbars.setScrollTop(e), to && En(t), wn(t, 100)) - } - - function Hi(t, e, i) { - (i ? e == t.doc.scrollLeft : Math.abs(t.doc.scrollLeft - e) < 2) || (e = Math.min(e, t.display.scroller.scrollWidth - t.display.scroller.clientWidth), t.doc.scrollLeft = e, Oi(t), t.display.scroller.scrollLeft != e && (t.display.scroller.scrollLeft = e), t.display.scrollbars.setScrollLeft(e)) - } - - function Ri(t) { - var e = t.wheelDeltaX, - i = t.wheelDeltaY; - return null == e && t.detail && t.axis == t.HORIZONTAL_AXIS && (e = t.detail), null == i && t.detail && t.axis == t.VERTICAL_AXIS ? i = t.detail : null == i && (i = t.wheelDelta), { - x: e, - y: i - } - } - - function Vi(t) { - var e = Ri(t); - return e.x *= ia, e.y *= ia, e - } - - function Wi(t, e) { - var i = Ri(e), - n = i.x, - r = i.y, - s = t.display, - o = s.scroller, - a = o.scrollWidth > o.clientWidth, - l = o.scrollHeight > o.clientHeight; - if (n && a || r && l) { - if (r && go && so) t: for (var c = e.target, u = s.view; c != o; c = c.parentNode) - for (var h = 0; h < u.length; h++) - if (u[h].node == c) { - t.display.currentWheelTarget = c; - break t - } - if (n && !to && !lo && null != ia) return r && l && Fi(t, Math.max(0, Math.min(o.scrollTop + r * ia, o.scrollHeight - o.clientHeight))), Hi(t, Math.max(0, Math.min(o.scrollLeft + n * ia, o.scrollWidth - o.clientWidth))), (!r || r && l) && Dt(e), void(s.wheelStartX = null); - if (r && null != ia) { - var d = r * ia, - f = t.doc.scrollTop, - p = f + s.wrapper.clientHeight; - d < 0 ? f = Math.max(0, f + d - 50) : p = Math.min(t.doc.height, p + d + 50), En(t, { - top: f, - bottom: p - }) - } - ea < 20 && (null == s.wheelStartX ? (s.wheelStartX = o.scrollLeft, s.wheelStartY = o.scrollTop, s.wheelDX = n, s.wheelDY = r, setTimeout(function() { - if (null != s.wheelStartX) { - var t = o.scrollLeft - s.wheelStartX, - e = o.scrollTop - s.wheelStartY, - i = e && s.wheelDY && e / s.wheelDY || t && s.wheelDX && t / s.wheelDX; - s.wheelStartX = s.wheelStartY = null, i && (ia = (ia * ea + i) / (ea + 1), ++ea) - } - }, 200)) : (s.wheelDX += n, s.wheelDY += r)) - } - } - - function Bi(t) { - var e = t.display, - i = e.gutters.offsetWidth, - n = Math.round(t.doc.height + Ve(t.display)); - return { - clientHeight: e.scroller.clientHeight, - viewHeight: e.wrapper.clientHeight, - scrollWidth: e.scroller.scrollWidth, - clientWidth: e.scroller.clientWidth, - viewWidth: e.wrapper.clientWidth, - barLeft: t.options.fixedGutter ? i : 0, - docHeight: n, - scrollHeight: n + Be(t) + e.barHeight, - nativeBarWidth: e.nativeBarWidth, - gutterWidth: i - } - } - - function ji(t, e, i) { - this.cm = i; - var r = this.vert = n("div", [n("div", null, null, "min-width: 1px")], "CodeMirror-vscrollbar"), - s = this.horiz = n("div", [n("div", null, null, "height: 100%; min-height: 1px")], "CodeMirror-hscrollbar"); - t(r), t(s), Ho(r, "scroll", function() { - r.clientHeight && e(r.scrollTop, "vertical") - }), Ho(s, "scroll", function() { - s.clientWidth && e(s.scrollLeft, "horizontal") - }), this.checkedZeroWidth = !1, no && ro < 8 && (this.horiz.style.minHeight = this.vert.style.minWidth = "18px") - } - - function Ui() {} - - function qi(t, e) { - e || (e = Bi(t)); - var i = t.display.barWidth, - n = t.display.barHeight; - Ki(t, e); - for (var r = 0; r < 4 && i != t.display.barWidth || n != t.display.barHeight; r++) i != t.display.barWidth && t.options.lineWrapping && Di(t), Ki(t, Bi(t)), i = t.display.barWidth, n = t.display.barHeight - } - - function Ki(t, e) { - var i = t.display, - n = i.scrollbars.update(e); - i.sizer.style.paddingRight = (i.barWidth = n.right) + "px", i.sizer.style.paddingBottom = (i.barHeight = n.bottom) + "px", i.heightForcer.style.borderBottom = n.bottom + "px solid transparent", n.right && n.bottom ? (i.scrollbarFiller.style.display = "block", i.scrollbarFiller.style.height = n.bottom + "px", i.scrollbarFiller.style.width = n.right + "px") : i.scrollbarFiller.style.display = "", n.bottom && t.options.coverGutterNextToScrollbar && t.options.fixedGutter ? (i.gutterFiller.style.display = "block", i.gutterFiller.style.height = n.bottom + "px", i.gutterFiller.style.width = e.gutterWidth + "px") : i.gutterFiller.style.display = "" - } - - function Gi(t) { - t.display.scrollbars && (t.display.scrollbars.clear(), t.display.scrollbars.addClass && Co(t.display.wrapper, t.display.scrollbars.addClass)), t.display.scrollbars = new na[t.options.scrollbarStyle](function(e) { - t.display.wrapper.insertBefore(e, t.display.scrollbarFiller), Ho(e, "mousedown", function() { - t.state.focused && setTimeout(function() { - return t.display.input.focus() - }, 0) - }), e.setAttribute("cm-not-content", "true") - }, function(e, i) { - "horizontal" == i ? Hi(t, e) : Fi(t, e) - }, t), t.display.scrollbars.addClass && o(t.display.wrapper, t.display.scrollbars.addClass) - } - - function Yi(t, e) { - if (!At(t, "scrollCursorIntoView")) { - var i = t.display, - r = i.sizer.getBoundingClientRect(), - s = null; - if (e.top + r.top < 0 ? s = !0 : e.bottom + r.top > (window.innerHeight || document.documentElement.clientHeight) && (s = !1), null != s && !ho) { - var o = n("div", "​", null, "position: absolute;\n top: " + (e.top - i.viewOffset - Re(t.display)) + "px;\n height: " + (e.bottom - e.top + Be(t) + i.barHeight) + "px;\n left: " + e.left + "px; width: 2px;"); - t.display.lineSpace.appendChild(o), o.scrollIntoView(s), t.display.lineSpace.removeChild(o) - } - } - } - - function Xi(t, e, i, n) { - null == n && (n = 0); - for (var r, s = 0; s < 5; s++) { - var o = !1; - r = hi(t, e); - var a = i && i != e ? hi(t, i) : r, - l = Zi(t, Math.min(r.left, a.left), Math.min(r.top, a.top) - n, Math.max(r.left, a.left), Math.max(r.bottom, a.bottom) + n), - c = t.doc.scrollTop, - u = t.doc.scrollLeft; - if (null != l.scrollTop && (Fi(t, l.scrollTop), Math.abs(t.doc.scrollTop - c) > 1 && (o = !0)), null != l.scrollLeft && (Hi(t, l.scrollLeft), Math.abs(t.doc.scrollLeft - u) > 1 && (o = !0)), !o) break - } - return r - } - - function Ji(t, e, i, n, r) { - var s = Zi(t, e, i, n, r); - null != s.scrollTop && Fi(t, s.scrollTop), null != s.scrollLeft && Hi(t, s.scrollLeft) - } - - function Zi(t, e, i, n, r) { - var s = t.display, - o = mi(t.display); - i < 0 && (i = 0); - var a = t.curOp && null != t.curOp.scrollTop ? t.curOp.scrollTop : s.scroller.scrollTop, - l = Ue(t), - c = {}; - r - i > l && (r = i + l); - var u = t.doc.height + Ve(s), - h = i < o, - d = r > u - o; - if (i < a) c.scrollTop = h ? 0 : i; - else if (r > a + l) { - var f = Math.min(i, (d ? u : r) - l); - f != a && (c.scrollTop = f) - } - var p = t.curOp && null != t.curOp.scrollLeft ? t.curOp.scrollLeft : s.scroller.scrollLeft, - g = je(t) - (t.options.fixedGutter ? s.gutters.offsetWidth : 0), - m = n - e > g; - return m && (n = e + g), e < 10 ? c.scrollLeft = 0 : e < p ? c.scrollLeft = Math.max(0, e - (m ? 0 : 10)) : n > g + p - 3 && (c.scrollLeft = n + (m ? 0 : 10) - g), c - } - - function Qi(t, e, i) { - null == e && null == i || en(t), null != e && (t.curOp.scrollLeft = (null == t.curOp.scrollLeft ? t.doc.scrollLeft : t.curOp.scrollLeft) + e), null != i && (t.curOp.scrollTop = (null == t.curOp.scrollTop ? t.doc.scrollTop : t.curOp.scrollTop) + i) - } - - function tn(t) { - en(t); - var e = t.getCursor(), - i = e, - n = e; - t.options.lineWrapping || (i = e.ch ? O(e.line, e.ch - 1) : e, n = O(e.line, e.ch + 1)), t.curOp.scrollToPos = { - from: i, - to: n, - margin: t.options.cursorScrollMargin, - isCursor: !0 - } - } - - function en(t) { - var e = t.curOp.scrollToPos; - if (e) { - t.curOp.scrollToPos = null; - var i = di(t, e.from), - n = di(t, e.to), - r = Zi(t, Math.min(i.left, n.left), Math.min(i.top, n.top) - e.margin, Math.max(i.right, n.right), Math.max(i.bottom, n.bottom) + e.margin); - t.scrollTo(r.scrollLeft, r.scrollTop) - } - } - - function nn(t) { - t.curOp = { - cm: t, - viewChanged: !1, - startHeight: t.doc.height, - forceUpdate: !1, - updateInput: null, - typing: !1, - changeObjs: null, - cursorActivityHandlers: null, - cursorActivityCalled: 0, - selectionChanged: !1, - updateMaxLine: !1, - scrollLeft: null, - scrollTop: null, - scrollToPos: null, - focus: !1, - id: ++ra - }, we(t.curOp) - } - - function rn(t) { - ke(t.curOp, function(t) { - for (var e = 0; e < t.ops.length; e++) t.ops[e].cm.curOp = null; - sn(t) - }) - } - - function sn(t) { - for (var e = t.ops, i = 0; i < e.length; i++) on(e[i]); - for (var n = 0; n < e.length; n++) an(e[n]); - for (var r = 0; r < e.length; r++) ln(e[r]); - for (var s = 0; s < e.length; s++) cn(e[s]); - for (var o = 0; o < e.length; o++) un(e[o]) - } - - function on(t) { - var e = t.cm, - i = e.display; - Sn(e), t.updateMaxLine && mt(e), t.mustUpdate = t.viewChanged || t.forceUpdate || null != t.scrollTop || t.scrollToPos && (t.scrollToPos.from.line < i.viewFrom || t.scrollToPos.to.line >= i.viewTo) || i.maxLineChanged && e.options.lineWrapping, t.update = t.mustUpdate && new kn(e, t.mustUpdate && { - top: t.scrollTop, - ensure: t.scrollToPos - }, t.forceUpdate) - } - - function an(t) { - t.updatedDisplay = t.mustUpdate && Tn(t.cm, t.update) - } - - function ln(t) { - var e = t.cm, - i = e.display; - t.updatedDisplay && Di(e), t.barMeasure = Bi(e), i.maxLineChanged && !e.options.lineWrapping && (t.adjustWidthTo = Ye(e, i.maxLine, i.maxLine.text.length).left + 3, e.display.sizerWidth = t.adjustWidthTo, t.barMeasure.scrollWidth = Math.max(i.scroller.clientWidth, i.sizer.offsetLeft + t.adjustWidthTo + Be(e) + e.display.barWidth), t.maxScrollLeft = Math.max(0, i.sizer.offsetLeft + t.adjustWidthTo - je(e))), (t.updatedDisplay || t.selectionChanged) && (t.preparedSelection = i.input.prepareSelection(t.focus)) - } - - function cn(t) { - var e = t.cm; - null != t.adjustWidthTo && (e.display.sizer.style.minWidth = t.adjustWidthTo + "px", t.maxScrollLeft < e.doc.scrollLeft && Hi(e, Math.min(e.display.scroller.scrollLeft, t.maxScrollLeft), !0), e.display.maxLineChanged = !1); - var i = t.focus && t.focus == s() && (!document.hasFocus || document.hasFocus()); - t.preparedSelection && e.display.input.showSelection(t.preparedSelection, i), (t.updatedDisplay || t.startHeight != e.doc.height) && qi(e, t.barMeasure), t.updatedDisplay && Ln(e, t.barMeasure), t.selectionChanged && Pi(e), e.state.focused && t.updateInput && e.display.input.reset(t.typing), i && $i(t.cm) - } - - function un(t) { - var e = t.cm, - i = e.display, - n = e.doc; - if (t.updatedDisplay && Mn(e, t.update), null == i.wheelStartX || null == t.scrollTop && null == t.scrollLeft && !t.scrollToPos || (i.wheelStartX = i.wheelStartY = null), null == t.scrollTop || i.scroller.scrollTop == t.scrollTop && !t.forceScroll || (n.scrollTop = Math.max(0, Math.min(i.scroller.scrollHeight - i.scroller.clientHeight, t.scrollTop)), i.scrollbars.setScrollTop(n.scrollTop), i.scroller.scrollTop = n.scrollTop), null == t.scrollLeft || i.scroller.scrollLeft == t.scrollLeft && !t.forceScroll || (n.scrollLeft = Math.max(0, Math.min(i.scroller.scrollWidth - i.scroller.clientWidth, t.scrollLeft)), i.scrollbars.setScrollLeft(n.scrollLeft), i.scroller.scrollLeft = n.scrollLeft, Oi(e)), t.scrollToPos) { - var r = Xi(e, H(n, t.scrollToPos.from), H(n, t.scrollToPos.to), t.scrollToPos.margin); - t.scrollToPos.isCursor && e.state.focused && Yi(e, r) - } - var s = t.maybeHiddenMarkers, - o = t.maybeUnhiddenMarkers; - if (s) - for (var a = 0; a < s.length; ++a) s[a].lines.length || Lt(s[a], "hide"); - if (o) - for (var l = 0; l < o.length; ++l) o[l].lines.length && Lt(o[l], "unhide"); - i.wrapper.offsetHeight && (n.scrollTop = e.display.scroller.scrollTop), t.changeObjs && Lt(e, "changes", e, t.changeObjs), t.update && t.update.finish() - } - - function hn(t, e) { - if (t.curOp) return e(); - nn(t); - try { - return e() - } finally { - rn(t) - } - } - - function dn(t, e) { - return function() { - if (t.curOp) return e.apply(t, arguments); - nn(t); - try { - return e.apply(t, arguments) - } finally { - rn(t) - } - } - } - - function fn(t) { - return function() { - if (this.curOp) return t.apply(this, arguments); - nn(this); - try { - return t.apply(this, arguments) - } finally { - rn(this) - } - } - } - - function pn(t) { - return function() { - var e = this.cm; - if (!e || e.curOp) return t.apply(this, arguments); - nn(e); - try { - return t.apply(this, arguments) - } finally { - rn(e) - } - } - } - - function gn(t, e, i, n) { - null == e && (e = t.doc.first), null == i && (i = t.doc.first + t.doc.size), n || (n = 0); - var r = t.display; - if (n && i < r.viewTo && (null == r.updateLineNumbers || r.updateLineNumbers > e) && (r.updateLineNumbers = e), t.curOp.viewChanged = !0, e >= r.viewTo) Do && ut(t.doc, e) < r.viewTo && vn(t); - else if (i <= r.viewFrom) Do && ht(t.doc, i + n) > r.viewFrom ? vn(t) : (r.viewFrom += n, r.viewTo += n); - else if (e <= r.viewFrom && i >= r.viewTo) vn(t); - else if (e <= r.viewFrom) { - var s = yn(t, i, i + n, 1); - s ? (r.view = r.view.slice(s.index), r.viewFrom = s.lineN, r.viewTo += n) : vn(t) - } else if (i >= r.viewTo) { - var o = yn(t, e, e, -1); - o ? (r.view = r.view.slice(0, o.index), r.viewTo = o.lineN) : vn(t) - } else { - var a = yn(t, e, e, -1), - l = yn(t, i, i + n, 1); - a && l ? (r.view = r.view.slice(0, a.index).concat(xe(t, a.lineN, l.lineN)).concat(r.view.slice(l.index)), r.viewTo += n) : vn(t) - } - var c = r.externalMeasured; - c && (i < c.lineN ? c.lineN += n : e < c.lineN + c.size && (r.externalMeasured = null)) - } - - function mn(t, e, i) { - t.curOp.viewChanged = !0; - var n = t.display, - r = t.display.externalMeasured; - if (r && e >= r.lineN && e < r.lineN + r.size && (n.externalMeasured = null), !(e < n.viewFrom || e >= n.viewTo)) { - var s = n.view[ki(t, e)]; - if (null != s.node) { - var o = s.changes || (s.changes = []); - 1 == d(o, i) && o.push(i) - } - } - } - - function vn(t) { - t.display.viewFrom = t.display.viewTo = t.doc.first, t.display.view = [], t.display.viewOffset = 0 - } - - function yn(t, e, i, n) { - var r, s = ki(t, e), - o = t.display.view; - if (!Do || i == t.doc.first + t.doc.size) return { - index: s, - lineN: i - }; - for (var a = t.display.viewFrom, l = 0; l < s; l++) a += o[l].size; - if (a != e) { - if (n > 0) { - if (s == o.length - 1) return null; - r = a + o[s].size - e, s++ - } else r = a - e; - e += r, i += r - } - for (; ut(t.doc, i) != i;) { - if (s == (n < 0 ? 0 : o.length - 1)) return null; - i += n * o[s - (n < 0 ? 1 : 0)].size, s += n - } - return { - index: s, - lineN: i - } - } - - function bn(t, e, i) { - var n = t.display; - 0 == n.view.length || e >= n.viewTo || i <= n.viewFrom ? (n.view = xe(t, e, i), n.viewFrom = e) : (n.viewFrom > e ? n.view = xe(t, e, n.viewFrom).concat(n.view) : n.viewFrom < e && (n.view = n.view.slice(ki(t, e))), n.viewFrom = e, n.viewTo < i ? n.view = n.view.concat(xe(t, n.viewTo, i)) : n.viewTo > i && (n.view = n.view.slice(0, ki(t, i)))), n.viewTo = i - } - - function xn(t) { - for (var e = t.display.view, i = 0, n = 0; n < e.length; n++) { - var r = e[n]; - r.hidden || r.node && !r.changes || ++i - } - return i - } - - function wn(t, e) { - t.doc.mode.startState && t.doc.frontier < t.display.viewTo && t.state.highlight.set(e, l(Cn, t)) - } - - function Cn(t) { - var e = t.doc; - if (e.frontier < e.first && (e.frontier = e.first), !(e.frontier >= t.display.viewTo)) { - var i = +new Date + t.options.workTime, - n = Yt(e.mode, te(t, e.frontier)), - r = []; - e.iter(e.frontier, Math.min(e.first + e.size, t.display.viewTo + 500), function(s) { - if (e.frontier >= t.display.viewFrom) { - var o = s.styles, - a = s.text.length > t.options.maxHighlightLength, - l = Zt(t, s, a ? Yt(e.mode, n) : n, !0); - s.styles = l.styles; - var c = s.styleClasses, - u = l.classes; - u ? s.styleClasses = u : c && (s.styleClasses = null); - for (var h = !o || o.length != s.styles.length || c != u && (!c || !u || c.bgClass != u.bgClass || c.textClass != u.textClass), d = 0; !h && d < o.length; ++d) h = o[d] != s.styles[d]; - h && r.push(e.frontier), s.stateAfter = a ? n : Yt(e.mode, n) - } else s.text.length <= t.options.maxHighlightLength && ee(t, s.text, n), s.stateAfter = e.frontier % 5 == 0 ? Yt(e.mode, n) : null; - if (++e.frontier, +new Date > i) return wn(t, t.options.workDelay), !0 - }), r.length && hn(t, function() { - for (var e = 0; e < r.length; e++) mn(t, r[e], "text") - }) - } - } - - function kn(t, e, i) { - var n = t.display; - this.viewport = e, this.visible = zi(n, t.doc, e), this.editorIsHidden = !n.wrapper.offsetWidth, this.wrapperHeight = n.wrapper.clientHeight, this.wrapperWidth = n.wrapper.clientWidth, this.oldDisplayWidth = je(t), this.force = i, this.dims = yi(t), this.events = [] - } - - function Sn(t) { - var e = t.display; - !e.scrollbarsClipped && e.scroller.offsetWidth && (e.nativeBarWidth = e.scroller.offsetWidth - e.scroller.clientWidth, e.heightForcer.style.height = Be(t) + "px", e.sizer.style.marginBottom = -e.nativeBarWidth + "px", e.sizer.style.borderRightWidth = Be(t) + "px", e.scrollbarsClipped = !0) - } - - function Tn(t, i) { - var n = t.display, - r = t.doc; - if (i.editorIsHidden) return vn(t), !1; - if (!i.force && i.visible.from >= n.viewFrom && i.visible.to <= n.viewTo && (null == n.updateLineNumbers || n.updateLineNumbers >= n.viewTo) && n.renderedView == n.view && 0 == xn(t)) return !1; - Ii(t) && (vn(t), i.dims = yi(t)); - var o = r.first + r.size, - a = Math.max(i.visible.from - t.options.viewportMargin, r.first), - l = Math.min(o, i.visible.to + t.options.viewportMargin); - n.viewFrom < a && a - n.viewFrom < 20 && (a = Math.max(r.first, n.viewFrom)), n.viewTo > l && n.viewTo - l < 20 && (l = Math.min(o, n.viewTo)), Do && (a = ut(t.doc, a), l = ht(t.doc, l)); - var c = a != n.viewFrom || l != n.viewTo || n.lastWrapHeight != i.wrapperHeight || n.lastWrapWidth != i.wrapperWidth; - bn(t, a, l), n.viewOffset = pt(T(t.doc, n.viewFrom)), t.display.mover.style.top = n.viewOffset + "px"; - var u = xn(t); - if (!c && 0 == u && !i.force && n.renderedView == n.view && (null == n.updateLineNumbers || n.updateLineNumbers >= n.viewTo)) return !1; - var h = s(); - return u > 4 && (n.lineDiv.style.display = "none"), Pn(t, n.updateLineNumbers, i.dims), u > 4 && (n.lineDiv.style.display = ""), n.renderedView = n.view, h && s() != h && h.offsetHeight && h.focus(), e(n.cursorDiv), e(n.selectionDiv), n.gutters.style.height = n.sizer.style.minHeight = 0, c && (n.lastWrapHeight = i.wrapperHeight, n.lastWrapWidth = i.wrapperWidth, wn(t, 400)), n.updateLineNumbers = null, !0 - } - - function Mn(t, e) { - for (var i = e.viewport, n = !0; - (n && t.options.lineWrapping && e.oldDisplayWidth != je(t) || (i && null != i.top && (i = { - top: Math.min(t.doc.height + Ve(t.display) - Ue(t), i.top) - }), e.visible = zi(t.display, t.doc, i), !(e.visible.from >= t.display.viewFrom && e.visible.to <= t.display.viewTo))) && Tn(t, e); n = !1) { - Di(t); - var r = Bi(t); - Si(t), qi(t, r), Ln(t, r) - } - e.signal(t, "update", t), t.display.viewFrom == t.display.reportedViewFrom && t.display.viewTo == t.display.reportedViewTo || (e.signal(t, "viewportChange", t, t.display.viewFrom, t.display.viewTo), t.display.reportedViewFrom = t.display.viewFrom, t.display.reportedViewTo = t.display.viewTo) - } - - function En(t, e) { - var i = new kn(t, e); - if (Tn(t, i)) { - Di(t), Mn(t, i); - var n = Bi(t); - Si(t), qi(t, n), Ln(t, n), i.finish() - } - } - - function Pn(t, i, n) { - function r(e) { - var i = e.nextSibling; - return so && go && t.display.currentWheelTarget == e ? e.style.display = "none" : e.parentNode.removeChild(e), i - } - for (var s = t.display, o = t.options.lineNumbers, a = s.lineDiv, l = a.firstChild, c = s.view, u = s.viewFrom, h = 0; h < c.length; h++) { - var f = c[h]; - if (f.hidden); - else if (f.node && f.node.parentNode == a) { - for (; l != f.node;) l = r(l); - var p = o && null != i && i <= u && f.lineNumber; - f.changes && (d(f.changes, "gutter") > -1 && (p = !1), Me(t, f, u, n)), p && (e(f.lineNumber), f.lineNumber.appendChild(document.createTextNode(N(t.options, u)))), l = f.node.nextSibling - } else { - var g = Ie(t, f, u, n); - a.insertBefore(g, l) - } - u += f.size - } - for (; l;) l = r(l) - } - - function $n(t) { - var e = t.display.gutters.offsetWidth; - t.display.sizer.style.marginLeft = e + "px" - } - - function Ln(t, e) { - t.display.sizer.style.minHeight = e.docHeight + "px", t.display.heightForcer.style.top = e.docHeight + "px", t.display.gutters.style.height = e.docHeight + t.display.barHeight + Be(t) + "px" - } - - function An(t) { - var i = t.display.gutters, - r = t.options.gutters; - e(i); - for (var s = 0; s < r.length; ++s) { - var o = r[s], - a = i.appendChild(n("div", null, "CodeMirror-gutter " + o)); - "CodeMirror-linenumbers" == o && (t.display.lineGutter = a, a.style.width = (t.display.lineNumWidth || 1) + "px") - } - i.style.display = s ? "" : "none", $n(t) - } - - function Nn(t) { - var e = d(t.gutters, "CodeMirror-linenumbers"); - 1 == e && t.lineNumbers ? t.gutters = t.gutters.concat(["CodeMirror-linenumbers"]) : e > -1 && !t.lineNumbers && (t.gutters = t.gutters.slice(0), t.gutters.splice(e, 1)) - } - - function On(t, e) { - this.ranges = t, this.primIndex = e - } - - function In(t, e) { - this.anchor = t, this.head = e - } - - function Dn(t, e) { - var i = t[e]; - t.sort(function(t, e) { - return I(t.from(), e.from()) - }), e = d(t, i); - for (var n = 1; n < t.length; n++) { - var r = t[n], - s = t[n - 1]; - if (I(s.to(), r.from()) >= 0) { - var o = z(s.from(), r.from()), - a = _(s.to(), r.to()), - l = s.empty() ? r.from() == r.head : s.from() == s.head; - n <= e && --e, t.splice(--n, 2, new In(l ? a : o, l ? o : a)) - } - } - return new On(t, e) - } - - function _n(t, e) { - return new On([new In(t, e || t)], 0) - } - - function zn(t) { - return t.text ? O(t.from.line + t.text.length - 1, g(t.text).length + (1 == t.text.length ? t.from.ch : 0)) : t.to - } - - function Fn(t, e) { - if (I(t, e.from) < 0) return t; - if (I(t, e.to) <= 0) return zn(e); - var i = t.line + e.text.length - (e.to.line - e.from.line) - 1, - n = t.ch; - return t.line == e.to.line && (n += zn(e).ch - e.to.ch), O(i, n) - } - - function Hn(t, e) { - for (var i = [], n = 0; n < t.sel.ranges.length; n++) { - var r = t.sel.ranges[n]; - i.push(new In(Fn(r.anchor, e), Fn(r.head, e))) - } - return Dn(i, t.sel.primIndex) - } - - function Rn(t, e, i) { - return t.line == e.line ? O(i.line, t.ch - e.ch + i.ch) : O(i.line + (t.line - e.line), t.ch) - } - - function Vn(t, e, i) { - for (var n = [], r = O(t.first, 0), s = r, o = 0; o < e.length; o++) { - var a = e[o], - l = Rn(a.from, r, s), - c = Rn(zn(a), r, s); - if (r = a.to, s = c, "around" == i) { - var u = t.sel.ranges[o], - h = I(u.head, u.anchor) < 0; - n[o] = new In(h ? c : l, h ? l : c) - } else n[o] = new In(l, l) - } - return new On(n, t.sel.primIndex) - } - - function Wn(t) { - t.doc.mode = Kt(t.options, t.doc.modeOption), Bn(t) - } - - function Bn(t) { - t.doc.iter(function(t) { - t.stateAfter && (t.stateAfter = null), t.styles && (t.styles = null) - }), t.doc.frontier = t.doc.first, wn(t, 100), t.state.modeGen++, t.curOp && gn(t) - } - - function jn(t, e) { - return 0 == e.from.ch && 0 == e.to.ch && "" == g(e.text) && (!t.cm || t.cm.options.wholeLineUpdateBefore) - } - - function Un(t, e, i, n) { - function r(t) { - return i ? i[t] : null - } - - function s(t, i, r) { - ce(t, i, r, n), Se(t, "change", t, e) - } - - function o(t, e) { - for (var i = [], s = t; s < e; ++s) i.push(new le(c[s], r(s), n)); - return i - } - var a = e.from, - l = e.to, - c = e.text, - u = T(t, a.line), - h = T(t, l.line), - d = g(c), - f = r(c.length - 1), - p = l.line - a.line; - if (e.full) t.insert(0, o(0, c.length)), t.remove(c.length, t.size - c.length); - else if (jn(t, e)) { - var m = o(0, c.length - 1); - s(h, h.text, f), p && t.remove(a.line, p), m.length && t.insert(a.line, m) - } else if (u == h) - if (1 == c.length) s(u, u.text.slice(0, a.ch) + d + u.text.slice(l.ch), f); - else { - var v = o(1, c.length - 1); - v.push(new le(d + u.text.slice(l.ch), f, n)), s(u, u.text.slice(0, a.ch) + c[0], r(0)), t.insert(a.line + 1, v) - } - else if (1 == c.length) s(u, u.text.slice(0, a.ch) + c[0] + h.text.slice(l.ch), r(0)), t.remove(a.line + 1, p); - else { - s(u, u.text.slice(0, a.ch) + c[0], r(0)), s(h, d + h.text.slice(l.ch), f); - var y = o(1, c.length - 1); - p > 1 && t.remove(a.line + 1, p - 1), t.insert(a.line + 1, y) - } - Se(t, "change", t, e) - } - - function qn(t, e, i) { - function n(t, r, s) { - if (t.linked) - for (var o = 0; o < t.linked.length; ++o) { - var a = t.linked[o]; - if (a.doc != r) { - var l = s && a.sharedHist; - i && !l || (e(a.doc, l), n(a.doc, t, l)) - } - } - } - n(t, null, !0) - } - - function Kn(t, e) { - if (e.cm) throw new Error("This document is already in use."); - t.doc = e, e.cm = t, wi(t), Wn(t), t.options.lineWrapping || mt(t), t.options.mode = e.modeOption, gn(t) - } - - function Gn(t) { - this.done = [], this.undone = [], this.undoDepth = 1 / 0, this.lastModTime = this.lastSelTime = 0, this.lastOp = this.lastSelOp = null, this.lastOrigin = this.lastSelOrigin = null, this.generation = this.maxGeneration = t || 1 - } - - function Yn(t, e) { - var i = { - from: D(e.from), - to: zn(e), - text: M(t, e.from, e.to) - }; - return ir(t, i, e.from.line, e.to.line + 1), qn(t, function(t) { - return ir(t, i, e.from.line, e.to.line + 1) - }, !0), i - } - - function Xn(t) { - for (; t.length;) { - if (!g(t).ranges) break; - t.pop() - } - } - - function Jn(t, e) { - return e ? (Xn(t.done), g(t.done)) : t.done.length && !g(t.done).ranges ? g(t.done) : t.done.length > 1 && !t.done[t.done.length - 2].ranges ? (t.done.pop(), g(t.done)) : void 0 - } - - function Zn(t, e, i, n) { - var r = t.history; - r.undone.length = 0; - var s, o, a = +new Date; - if ((r.lastOp == n || r.lastOrigin == e.origin && e.origin && ("+" == e.origin.charAt(0) && t.cm && r.lastModTime > a - t.cm.options.historyEventDelay || "*" == e.origin.charAt(0))) && (s = Jn(r, r.lastOp == n))) o = g(s.changes), 0 == I(e.from, e.to) && 0 == I(e.from, o.to) ? o.to = zn(e) : s.changes.push(Yn(t, e)); - else { - var l = g(r.done); - for (l && l.ranges || er(t.sel, r.done), s = { - changes: [Yn(t, e)], - generation: r.generation - }, r.done.push(s); r.done.length > r.undoDepth;) r.done.shift(), r.done[0].ranges || r.done.shift() - } - r.done.push(i), r.generation = ++r.maxGeneration, r.lastModTime = r.lastSelTime = a, r.lastOp = r.lastSelOp = n, r.lastOrigin = r.lastSelOrigin = e.origin, o || Lt(t, "historyAdded") - } - - function Qn(t, e, i, n) { - var r = e.charAt(0); - return "*" == r || "+" == r && i.ranges.length == n.ranges.length && i.somethingSelected() == n.somethingSelected() && new Date - t.history.lastSelTime <= (t.cm ? t.cm.options.historyEventDelay : 500) - } - - function tr(t, e, i, n) { - var r = t.history, - s = n && n.origin; - i == r.lastSelOp || s && r.lastSelOrigin == s && (r.lastModTime == r.lastSelTime && r.lastOrigin == s || Qn(t, s, g(r.done), e)) ? r.done[r.done.length - 1] = e : er(e, r.done), r.lastSelTime = +new Date, r.lastSelOrigin = s, r.lastSelOp = i, n && !1 !== n.clearRedo && Xn(r.undone) - } - - function er(t, e) { - var i = g(e); - i && i.ranges && i.equals(t) || e.push(t) - } - - function ir(t, e, i, n) { - var r = e["spans_" + t.id], - s = 0; - t.iter(Math.max(t.first, i), Math.min(t.first + t.size, n), function(i) { - i.markedSpans && ((r || (r = e["spans_" + t.id] = {}))[s] = i.markedSpans), ++s - }) - } - - function nr(t) { - if (!t) return null; - for (var e, i = 0; i < t.length; ++i) t[i].marker.explicitlyCleared ? e || (e = t.slice(0, i)) : e && e.push(t[i]); - return e ? e.length ? e : null : t - } - - function rr(t, e) { - var i = e["spans_" + t.id]; - if (!i) return null; - for (var n = [], r = 0; r < e.text.length; ++r) n.push(nr(i[r])); - return n - } - - function sr(t, e) { - var i = rr(t, e), - n = X(t, e); - if (!i) return n; - if (!n) return i; - for (var r = 0; r < i.length; ++r) { - var s = i[r], - o = n[r]; - if (s && o) t: for (var a = 0; a < o.length; ++a) { - for (var l = o[a], c = 0; c < s.length; ++c) - if (s[c].marker == l.marker) continue t; - s.push(l) - } else o && (i[r] = o) - } - return i - } - - function or(t, e, i) { - for (var n = [], r = 0; r < t.length; ++r) { - var s = t[r]; - if (s.ranges) n.push(i ? On.prototype.deepCopy.call(s) : s); - else { - var o = s.changes, - a = []; - n.push({ - changes: a - }); - for (var l = 0; l < o.length; ++l) { - var c = o[l], - u = void 0; - if (a.push({ - from: c.from, - to: c.to, - text: c.text - }), e) - for (var h in c)(u = h.match(/^spans_(\d+)$/)) && d(e, Number(u[1])) > -1 && (g(a)[h] = c[h], delete c[h]) - } - } - } - return n - } - - function ar(t, e, i, n) { - if (t.cm && t.cm.display.shift || t.extend) { - var r = e.anchor; - if (n) { - var s = I(i, r) < 0; - s != I(n, r) < 0 ? (r = i, i = n) : s != I(i, n) < 0 && (i = n) - } - return new In(r, i) - } - return new In(n || i, i) - } - - function lr(t, e, i, n) { - pr(t, new On([ar(t, t.sel.primary(), e, i)], 0), n) - } - - function cr(t, e, i) { - for (var n = [], r = 0; r < t.sel.ranges.length; r++) n[r] = ar(t, t.sel.ranges[r], e[r], null); - pr(t, Dn(n, t.sel.primIndex), i) - } - - function ur(t, e, i, n) { - var r = t.sel.ranges.slice(0); - r[e] = i, pr(t, Dn(r, t.sel.primIndex), n) - } - - function hr(t, e, i, n) { - pr(t, _n(e, i), n) - } - - function dr(t, e, i) { - var n = { - ranges: e.ranges, - update: function(e) { - var i = this; - this.ranges = []; - for (var n = 0; n < e.length; n++) i.ranges[n] = new In(H(t, e[n].anchor), H(t, e[n].head)) - }, - origin: i && i.origin - }; - return Lt(t, "beforeSelectionChange", t, n), t.cm && Lt(t.cm, "beforeSelectionChange", t.cm, n), n.ranges != e.ranges ? Dn(n.ranges, n.ranges.length - 1) : e - } - - function fr(t, e, i) { - var n = t.history.done, - r = g(n); - r && r.ranges ? (n[n.length - 1] = e, gr(t, e, i)) : pr(t, e, i) - } - - function pr(t, e, i) { - gr(t, e, i), tr(t, t.sel, t.cm ? t.cm.curOp.id : NaN, i) - } - - function gr(t, e, i) { - (Ot(t, "beforeSelectionChange") || t.cm && Ot(t.cm, "beforeSelectionChange")) && (e = dr(t, e, i)), mr(t, yr(t, e, i && i.bias || (I(e.primary().head, t.sel.primary().head) < 0 ? -1 : 1), !0)), i && !1 === i.scroll || !t.cm || tn(t.cm) - } - - function mr(t, e) { - e.equals(t.sel) || (t.sel = e, t.cm && (t.cm.curOp.updateInput = t.cm.curOp.selectionChanged = !0, Nt(t.cm)), Se(t, "cursorActivity", t)) - } - - function vr(t) { - mr(t, yr(t, t.sel, null, !1), Po) - } - - function yr(t, e, i, n) { - for (var r, s = 0; s < e.ranges.length; s++) { - var o = e.ranges[s], - a = e.ranges.length == t.sel.ranges.length && t.sel.ranges[s], - l = xr(t, o.anchor, a && a.anchor, i, n), - c = xr(t, o.head, a && a.head, i, n); - (r || l != o.anchor || c != o.head) && (r || (r = e.ranges.slice(0, s)), r[s] = new In(l, c)) - } - return r ? Dn(r, e.primIndex) : e - } - - function br(t, e, i, n, r) { - var s = T(t, e.line); - if (s.markedSpans) - for (var o = 0; o < s.markedSpans.length; ++o) { - var a = s.markedSpans[o], - l = a.marker; - if ((null == a.from || (l.inclusiveLeft ? a.from <= e.ch : a.from < e.ch)) && (null == a.to || (l.inclusiveRight ? a.to >= e.ch : a.to > e.ch))) { - if (r && (Lt(l, "beforeCursorEnter"), l.explicitlyCleared)) { - if (s.markedSpans) { - --o; - continue - } - break - } - if (!l.atomic) continue; - if (i) { - var c = l.find(n < 0 ? 1 : -1), - u = void 0; - if ((n < 0 ? l.inclusiveRight : l.inclusiveLeft) && (c = wr(t, c, -n, c && c.line == e.line ? s : null)), c && c.line == e.line && (u = I(c, i)) && (n < 0 ? u < 0 : u > 0)) return br(t, c, e, n, r) - } - var h = l.find(n < 0 ? -1 : 1); - return (n < 0 ? l.inclusiveLeft : l.inclusiveRight) && (h = wr(t, h, n, h.line == e.line ? s : null)), h ? br(t, h, e, n, r) : null - } - } - return e - } - - function xr(t, e, i, n, r) { - var s = n || 1, - o = br(t, e, i, s, r) || !r && br(t, e, i, s, !0) || br(t, e, i, -s, r) || !r && br(t, e, i, -s, !0); - return o || (t.cantEdit = !0, O(t.first, 0)) - } - - function wr(t, e, i, n) { - return i < 0 && 0 == e.ch ? e.line > t.first ? H(t, O(e.line - 1)) : null : i > 0 && e.ch == (n || T(t, e.line)).text.length ? e.line < t.first + t.size - 1 ? O(e.line + 1, 0) : null : new O(e.line, e.ch + i) - } - - function Cr(t) { - t.setSelection(O(t.firstLine(), 0), O(t.lastLine()), Po) - } - - function kr(t, e, i) { - var n = { - canceled: !1, - from: e.from, - to: e.to, - text: e.text, - origin: e.origin, - cancel: function() { - return n.canceled = !0 - } - }; - return i && (n.update = function(e, i, r, s) { - e && (n.from = H(t, e)), i && (n.to = H(t, i)), r && (n.text = r), void 0 !== s && (n.origin = s) - }), Lt(t, "beforeChange", t, n), t.cm && Lt(t.cm, "beforeChange", t.cm, n), n.canceled ? null : { - from: n.from, - to: n.to, - text: n.text, - origin: n.origin - } - } - - function Sr(t, e, i) { - if (t.cm) { - if (!t.cm.curOp) return dn(t.cm, Sr)(t, e, i); - if (t.cm.state.suppressEdits) return - } - if (!(Ot(t, "beforeChange") || t.cm && Ot(t.cm, "beforeChange")) || (e = kr(t, e, !0))) { - var n = Io && !i && Z(t, e.from, e.to); - if (n) - for (var r = n.length - 1; r >= 0; --r) Tr(t, { - from: n[r].from, - to: n[r].to, - text: r ? [""] : e.text - }); - else Tr(t, e) - } - } - - function Tr(t, e) { - if (1 != e.text.length || "" != e.text[0] || 0 != I(e.from, e.to)) { - var i = Hn(t, e); - Zn(t, e, i, t.cm ? t.cm.curOp.id : NaN), Pr(t, e, i, X(t, e)); - var n = []; - qn(t, function(t, i) { - i || -1 != d(n, t.history) || (Or(t.history, e), n.push(t.history)), Pr(t, e, null, X(t, e)) - }) - } - } - - function Mr(t, e, i) { - if (!t.cm || !t.cm.state.suppressEdits || i) { - for (var n, r = t.history, s = t.sel, o = "undo" == e ? r.done : r.undone, a = "undo" == e ? r.undone : r.done, l = 0; l < o.length && (n = o[l], i ? !n.ranges || n.equals(t.sel) : n.ranges); l++); - if (l != o.length) { - for (r.lastOrigin = r.lastSelOrigin = null; n = o.pop(), n.ranges;) { - if (er(n, a), i && !n.equals(t.sel)) return void pr(t, n, { - clearRedo: !1 - }); - s = n - } - var c = []; - er(s, a), a.push({ - changes: c, - generation: r.generation - }), r.generation = n.generation || ++r.maxGeneration; - for (var u = Ot(t, "beforeChange") || t.cm && Ot(t.cm, "beforeChange"), h = n.changes.length - 1; h >= 0; --h) { - var f = function(i) { - var r = n.changes[i]; - if (r.origin = e, u && !kr(t, r, !1)) return o.length = 0, {}; - c.push(Yn(t, r)); - var s = i ? Hn(t, r) : g(o); - Pr(t, r, s, sr(t, r)), !i && t.cm && t.cm.scrollIntoView({ - from: r.from, - to: zn(r) - }); - var a = []; - qn(t, function(t, e) { - e || -1 != d(a, t.history) || (Or(t.history, r), a.push(t.history)), Pr(t, r, null, sr(t, r)) - }) - }(h); - if (f) return f.v - } - } - } - } - - function Er(t, e) { - if (0 != e && (t.first += e, t.sel = new On(m(t.sel.ranges, function(t) { - return new In(O(t.anchor.line + e, t.anchor.ch), O(t.head.line + e, t.head.ch)) - }), t.sel.primIndex), t.cm)) { - gn(t.cm, t.first, t.first - e, e); - for (var i = t.cm.display, n = i.viewFrom; n < i.viewTo; n++) mn(t.cm, n, "gutter") - } - } - - function Pr(t, e, i, n) { - if (t.cm && !t.cm.curOp) return dn(t.cm, Pr)(t, e, i, n); - if (e.to.line < t.first) return void Er(t, e.text.length - 1 - (e.to.line - e.from.line)); - if (!(e.from.line > t.lastLine())) { - if (e.from.line < t.first) { - var r = e.text.length - 1 - (t.first - e.from.line); - Er(t, r), e = { - from: O(t.first, 0), - to: O(e.to.line + r, e.to.ch), - text: [g(e.text)], - origin: e.origin - } - } - var s = t.lastLine(); - e.to.line > s && (e = { - from: e.from, - to: O(s, T(t, s).text.length), - text: [e.text[0]], - origin: e.origin - }), e.removed = M(t, e.from, e.to), i || (i = Hn(t, e)), t.cm ? $r(t.cm, e, n) : Un(t, e, n), gr(t, i, Po) - } - } - - function $r(t, e, i) { - var n = t.doc, - r = t.display, - s = e.from, - o = e.to, - a = !1, - l = s.line; - t.options.lineWrapping || (l = $(lt(T(n, s.line))), n.iter(l, o.line + 1, function(t) { - if (t == r.maxLine) return a = !0, !0 - })), n.sel.contains(e.from, e.to) > -1 && Nt(t), Un(n, e, i, xi(t)), t.options.lineWrapping || (n.iter(l, s.line + e.text.length, function(t) { - var e = gt(t); - e > r.maxLineLength && (r.maxLine = t, r.maxLineLength = e, r.maxLineChanged = !0, a = !1) - }), a && (t.curOp.updateMaxLine = !0)), n.frontier = Math.min(n.frontier, s.line), wn(t, 400); - var c = e.text.length - (o.line - s.line) - 1; - e.full ? gn(t) : s.line != o.line || 1 != e.text.length || jn(t.doc, e) ? gn(t, s.line, o.line + 1, c) : mn(t, s.line, "text"); - var u = Ot(t, "changes"), - h = Ot(t, "change"); - if (h || u) { - var d = { - from: s, - to: o, - text: e.text, - removed: e.removed, - origin: e.origin - }; - h && Se(t, "change", t, d), u && (t.curOp.changeObjs || (t.curOp.changeObjs = [])).push(d) - } - t.display.selForContextMenu = null - } - - function Lr(t, e, i, n, r) { - if (n || (n = i), I(n, i) < 0) { - var s = n; - n = i, i = s - } - "string" == typeof e && (e = t.splitLines(e)), Sr(t, { - from: i, - to: n, - text: e, - origin: r - }) - } - - function Ar(t, e, i, n) { - i < t.line ? t.line += n : e < t.line && (t.line = e, t.ch = 0) - } - - function Nr(t, e, i, n) { - for (var r = 0; r < t.length; ++r) { - var s = t[r], - o = !0; - if (s.ranges) { - s.copied || (s = t[r] = s.deepCopy(), s.copied = !0); - for (var a = 0; a < s.ranges.length; a++) Ar(s.ranges[a].anchor, e, i, n), Ar(s.ranges[a].head, e, i, n) - } else { - for (var l = 0; l < s.changes.length; ++l) { - var c = s.changes[l]; - if (i < c.from.line) c.from = O(c.from.line + n, c.from.ch), c.to = O(c.to.line + n, c.to.ch); - else if (e <= c.to.line) { - o = !1; - break - } - } - o || (t.splice(0, r + 1), r = 0) - } - } - } - - function Or(t, e) { - var i = e.from.line, - n = e.to.line, - r = e.text.length - (n - i) - 1; - Nr(t.done, i, n, r), Nr(t.undone, i, n, r) - } - - function Ir(t, e, i, n) { - var r = e, - s = e; - return "number" == typeof e ? s = T(t, F(t, e)) : r = $(e), null == r ? null : (n(s, r) && t.cm && mn(t.cm, r, i), s) - } - - function Dr(t) { - var e = this; - this.lines = t, this.parent = null; - for (var i = 0, n = 0; n < t.length; ++n) t[n].parent = e, i += t[n].height; - this.height = i - } - - function _r(t) { - var e = this; - this.children = t; - for (var i = 0, n = 0, r = 0; r < t.length; ++r) { - var s = t[r]; - i += s.chunkSize(), n += s.height, s.parent = e - } - this.size = i, this.height = n, this.parent = null - } - - function zr(t, e, i) { - var n = this; - if (i) - for (var r in i) i.hasOwnProperty(r) && (n[r] = i[r]); - this.doc = t, this.node = e - } - - function Fr(t, e, i) { - pt(e) < (t.curOp && t.curOp.scrollTop || t.doc.scrollTop) && Qi(t, null, i) - } - - function Hr(t, e, i, n) { - var r = new zr(t, i, n), - s = t.cm; - return s && r.noHScroll && (s.display.alignWidgets = !0), Ir(t, e, "widget", function(e) { - var i = e.widgets || (e.widgets = []); - if (null == r.insertAt ? i.push(r) : i.splice(Math.min(i.length - 1, Math.max(0, r.insertAt)), 0, r), r.line = e, s && !dt(t, e)) { - var n = pt(e) < t.scrollTop; - P(e, e.height + Fe(r)), n && Qi(s, null, r.height), s.curOp.forceUpdate = !0 - } - return !0 - }), r - } - - function Rr(t, e) { - this.lines = [], this.type = e, this.doc = t, this.id = ++sa - } - - function Vr(t, e, i, r, s) { - if (r && r.shared) return Br(t, e, i, r, s); - if (t.cm && !t.cm.curOp) return dn(t.cm, Vr)(t, e, i, r, s); - var o = new Rr(t, s), - a = I(e, i); - if (r && c(r, o, !1), a > 0 || 0 == a && !1 !== o.clearWhenEmpty) return o; - if (o.replacedWith && (o.collapsed = !0, o.widgetNode = n("span", [o.replacedWith], "CodeMirror-widget"), r.handleMouseEvents || o.widgetNode.setAttribute("cm-ignore-events", "true"), r.insertLeft && (o.widgetNode.insertLeft = !0)), o.collapsed) { - if (at(t, e.line, e, i, o) || e.line != i.line && at(t, i.line, e, i, o)) throw new Error("Inserting collapsed marker partially overlapping an existing one"); - B() - } - o.addToHistory && Zn(t, { - from: e, - to: i, - origin: "markText" - }, t.sel, NaN); - var l, u = e.line, - h = t.cm; - if (t.iter(u, i.line + 1, function(t) { - h && o.collapsed && !h.options.lineWrapping && lt(t) == h.display.maxLine && (l = !0), o.collapsed && u != e.line && P(t, 0), K(t, new j(o, u == e.line ? e.ch : null, u == i.line ? i.ch : null)), ++u - }), o.collapsed && t.iter(e.line, i.line + 1, function(e) { - dt(t, e) && P(e, 0) - }), o.clearOnEnter && Ho(o, "beforeCursorEnter", function() { - return o.clear() - }), o.readOnly && (W(), (t.history.done.length || t.history.undone.length) && t.clearHistory()), o.collapsed && (o.id = ++sa, o.atomic = !0), h) { - if (l && (h.curOp.updateMaxLine = !0), o.collapsed) gn(h, e.line, i.line + 1); - else if (o.className || o.title || o.startStyle || o.endStyle || o.css) - for (var d = e.line; d <= i.line; d++) mn(h, d, "text"); - o.atomic && vr(h.doc), Se(h, "markerAdded", h, o) - } - return o - } - - function Wr(t, e) { - var i = this; - this.markers = t, this.primary = e; - for (var n = 0; n < t.length; ++n) t[n].parent = i - } - - function Br(t, e, i, n, r) { - n = c(n), n.shared = !1; - var s = [Vr(t, e, i, n, r)], - o = s[0], - a = n.widgetNode; - return qn(t, function(t) { - a && (n.widgetNode = a.cloneNode(!0)), s.push(Vr(t, H(t, e), H(t, i), n, r)); - for (var l = 0; l < t.linked.length; ++l) - if (t.linked[l].isParent) return; - o = g(s) - }), new Wr(s, o) - } - - function jr(t) { - return t.findMarks(O(t.first, 0), t.clipPos(O(t.lastLine())), function(t) { - return t.parent - }) - } - - function Ur(t, e) { - for (var i = 0; i < e.length; i++) { - var n = e[i], - r = n.find(), - s = t.clipPos(r.from), - o = t.clipPos(r.to); - if (I(s, o)) { - var a = Vr(t, s, o, n.primary, n.primary.type); - n.markers.push(a), a.parent = n - } - } - } - - function qr(t) { - for (var e = 0; e < t.length; e++) ! function(e) { - var i = t[e], - n = [i.primary.doc]; - qn(i.primary.doc, function(t) { - return n.push(t) - }); - for (var r = 0; r < i.markers.length; r++) { - var s = i.markers[r]; - 1 == d(n, s.doc) && (s.parent = null, i.markers.splice(r--, 1)) - } - }(e) - } - - function Kr(t) { - var e = this; - if (Xr(e), !At(e, t) && !He(e.display, t)) { - Dt(t), no && (la = +new Date); - var i = Ci(e, t, !0), - n = t.dataTransfer.files; - if (i && !e.isReadOnly()) - if (n && n.length && window.FileReader && window.File) - for (var r = n.length, s = Array(r), o = 0, a = 0; a < r; ++a) ! function(t, n) { - if (!e.options.allowDropFileTypes || -1 != d(e.options.allowDropFileTypes, t.type)) { - var a = new FileReader; - a.onload = dn(e, function() { - var t = a.result; - if (/[\x00-\x08\x0e-\x1f]{2}/.test(t) && (t = ""), s[n] = t, ++o == r) { - i = H(e.doc, i); - var l = { - from: i, - to: i, - text: e.doc.splitLines(s.join(e.doc.lineSeparator())), - origin: "paste" - }; - Sr(e.doc, l), fr(e.doc, _n(i, zn(l))) - } - }), a.readAsText(t) - } - }(n[a], a); - else { - if (e.state.draggingText && e.doc.sel.contains(i) > -1) return e.state.draggingText(t), void setTimeout(function() { - return e.display.input.focus() - }, 20); - try { - var l = t.dataTransfer.getData("Text"); - if (l) { - var c; - if (e.state.draggingText && !e.state.draggingText.copy && (c = e.listSelections()), gr(e.doc, _n(i, i)), c) - for (var u = 0; u < c.length; ++u) Lr(e.doc, "", c[u].anchor, c[u].head, "drag"); - e.replaceSelection(l, "around", "paste"), e.display.input.focus() - } - } catch (t) {} - } - } - } - - function Gr(t, e) { - if (no && (!t.state.draggingText || +new Date - la < 100)) return void Ft(e); - if (!At(t, e) && !He(t.display, e) && (e.dataTransfer.setData("Text", t.getSelection()), e.dataTransfer.effectAllowed = "copyMove", e.dataTransfer.setDragImage && !co)) { - var i = n("img", null, null, "position: fixed; left: 0; top: 0;"); - i.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", lo && (i.width = i.height = 1, t.display.wrapper.appendChild(i), i._top = i.offsetTop), e.dataTransfer.setDragImage(i, 0, 0), lo && i.parentNode.removeChild(i) - } - } - - function Yr(t, e) { - var r = Ci(t, e); - if (r) { - var s = document.createDocumentFragment(); - Mi(t, r, s), t.display.dragCursor || (t.display.dragCursor = n("div", null, "CodeMirror-cursors CodeMirror-dragcursors"), t.display.lineSpace.insertBefore(t.display.dragCursor, t.display.cursorDiv)), i(t.display.dragCursor, s) - } - } - - function Xr(t) { - t.display.dragCursor && (t.display.lineSpace.removeChild(t.display.dragCursor), t.display.dragCursor = null) - } - - function Jr(t) { - if (document.body.getElementsByClassName) - for (var e = document.body.getElementsByClassName("CodeMirror"), i = 0; i < e.length; i++) { - var n = e[i].CodeMirror; - n && t(n) - } - } - - function Zr() { - ca || (Qr(), ca = !0) - } - - function Qr() { - var t; - Ho(window, "resize", function() { - null == t && (t = setTimeout(function() { - t = null, Jr(ts) - }, 100)) - }), Ho(window, "blur", function() { - return Jr(Ni) - }) - } - - function ts(t) { - var e = t.display; - e.lastWrapHeight == e.wrapper.clientHeight && e.lastWrapWidth == e.wrapper.clientWidth || (e.cachedCharWidth = e.cachedTextHeight = e.cachedPaddingH = null, e.scrollbarsClipped = !1, t.setSize()) - } - - function es(t) { - var e = t.split(/-(?!$)/); - t = e[e.length - 1]; - for (var i, n, r, s, o = 0; o < e.length - 1; o++) { - var a = e[o]; - if (/^(cmd|meta|m)$/i.test(a)) s = !0; - else if (/^a(lt)?$/i.test(a)) i = !0; - else if (/^(c|ctrl|control)$/i.test(a)) n = !0; - else { - if (!/^s(hift)?$/i.test(a)) throw new Error("Unrecognized modifier name: " + a); - r = !0 - } - } - return i && (t = "Alt-" + t), n && (t = "Ctrl-" + t), s && (t = "Cmd-" + t), r && (t = "Shift-" + t), t - } - - function is(t) { - var e = {}; - for (var i in t) - if (t.hasOwnProperty(i)) { - var n = t[i]; - if (/^(name|fallthrough|(de|at)tach)$/.test(i)) continue; - if ("..." == n) { - delete t[i]; - continue - } - for (var r = m(i.split(" "), es), s = 0; s < r.length; s++) { - var o = void 0, - a = void 0; - s == r.length - 1 ? (a = r.join(" "), o = n) : (a = r.slice(0, s + 1).join(" "), o = "..."); - var l = e[a]; - if (l) { - if (l != o) throw new Error("Inconsistent bindings for " + a) - } else e[a] = o - } - delete t[i] - } - for (var c in e) t[c] = e[c]; - return t - } - - function ns(t, e, i, n) { - e = os(e); - var r = e.call ? e.call(t, n) : e[t]; - if (!1 === r) return "nothing"; - if ("..." === r) return "multi"; - if (null != r && i(r)) return "handled"; - if (e.fallthrough) { - if ("[object Array]" != Object.prototype.toString.call(e.fallthrough)) return ns(t, e.fallthrough, i, n); - for (var s = 0; s < e.fallthrough.length; s++) { - var o = ns(t, e.fallthrough[s], i, n); - if (o) return o - } - } - } - - function rs(t) { - var e = "string" == typeof t ? t : ua[t.keyCode]; - return "Ctrl" == e || "Alt" == e || "Shift" == e || "Mod" == e - } - - function ss(t, e) { - if (lo && 34 == t.keyCode && t.char) return !1; - var i = ua[t.keyCode], - n = i; - return null != n && !t.altGraphKey && (t.altKey && "Alt" != i && (n = "Alt-" + n), (xo ? t.metaKey : t.ctrlKey) && "Ctrl" != i && (n = "Ctrl-" + n), (xo ? t.ctrlKey : t.metaKey) && "Cmd" != i && (n = "Cmd-" + n), !e && t.shiftKey && "Shift" != i && (n = "Shift-" + n), n) - } - - function os(t) { - return "string" == typeof t ? pa[t] : t - } - - function as(t, e) { - for (var i = t.doc.sel.ranges, n = [], r = 0; r < i.length; r++) { - for (var s = e(i[r]); n.length && I(s.from, g(n).to) <= 0;) { - var o = n.pop(); - if (I(o.from, s.from) < 0) { - s.from = o.from; - break - } - } - n.push(s) - } - hn(t, function() { - for (var e = n.length - 1; e >= 0; e--) Lr(t.doc, "", n[e].from, n[e].to, "+delete"); - tn(t) - }) - } - - function ls(t, e) { - var i = T(t.doc, e), - n = lt(i); - n != i && (e = $(n)); - var r = Et(n); - return O(e, r ? r[0].level % 2 ? wt(n) : xt(n) : 0) - } - - function cs(t, e) { - for (var i, n = T(t.doc, e); i = ot(n);) n = i.find(1, !0).line, e = null; - var r = Et(n), - s = r ? r[0].level % 2 ? xt(n) : wt(n) : n.text.length; - return O(null == e ? $(n) : e, s) - } - - function us(t, e) { - var i = ls(t, e.line), - n = T(t.doc, i.line), - r = Et(n); - if (!r || 0 == r[0].level) { - var s = Math.max(0, n.text.search(/\S/)), - o = e.line == i.line && e.ch <= s && e.ch; - return O(i.line, o ? 0 : s) - } - return i - } - - function hs(t, e, i) { - if ("string" == typeof e && !(e = va[e])) return !1; - t.display.input.ensurePolled(); - var n = t.display.shift, - r = !1; - try { - t.isReadOnly() && (t.state.suppressEdits = !0), i && (t.display.shift = !1), r = e(t) != Eo - } finally { - t.display.shift = n, t.state.suppressEdits = !1 - } - return r - } - - function ds(t, e, i) { - for (var n = 0; n < t.state.keyMaps.length; n++) { - var r = ns(e, t.state.keyMaps[n], i, t); - if (r) return r - } - return t.options.extraKeys && ns(e, t.options.extraKeys, i, t) || ns(e, t.options.keyMap, i, t) - } - - function fs(t, e, i, n) { - var r = t.state.keySeq; - if (r) { - if (rs(e)) return "handled"; - ya.set(50, function() { - t.state.keySeq == r && (t.state.keySeq = null, t.display.input.reset()) - }), e = r + " " + e - } - var s = ds(t, e, n); - return "multi" == s && (t.state.keySeq = e), "handled" == s && Se(t, "keyHandled", t, e, i), "handled" != s && "multi" != s || (Dt(i), Pi(t)), r && !s && /\'$/.test(e) ? (Dt(i), !0) : !!s - } - - function ps(t, e) { - var i = ss(e, !0); - return !!i && (e.shiftKey && !t.state.keySeq ? fs(t, "Shift-" + i, e, function(e) { - return hs(t, e, !0) - }) || fs(t, i, e, function(e) { - if ("string" == typeof e ? /^go[A-Z]/.test(e) : e.motion) return hs(t, e) - }) : fs(t, i, e, function(e) { - return hs(t, e) - })) - } - - function gs(t, e, i) { - return fs(t, "'" + i + "'", e, function(e) { - return hs(t, e, !0) - }) - } - - function ms(t) { - var e = this; - if (e.curOp.focus = s(), !At(e, t)) { - no && ro < 11 && 27 == t.keyCode && (t.returnValue = !1); - var i = t.keyCode; - e.display.shift = 16 == i || t.shiftKey; - var n = ps(e, t); - lo && (ba = n ? i : null, !n && 88 == i && !Bo && (go ? t.metaKey : t.ctrlKey) && e.replaceSelection("", null, "cut")), 18 != i || /\bCodeMirror-crosshair\b/.test(e.display.lineDiv.className) || vs(e) - } - } - - function vs(t) { - function e(t) { - 18 != t.keyCode && t.altKey || (Co(i, "CodeMirror-crosshair"), $t(document, "keyup", e), $t(document, "mouseover", e)) - } - var i = t.display.lineDiv; - o(i, "CodeMirror-crosshair"), Ho(document, "keyup", e), Ho(document, "mouseover", e) - } - - function ys(t) { - 16 == t.keyCode && (this.doc.sel.shift = !1), At(this, t) - } - - function bs(t) { - var e = this; - if (!(He(e.display, t) || At(e, t) || t.ctrlKey && !t.altKey || go && t.metaKey)) { - var i = t.keyCode, - n = t.charCode; - if (lo && i == ba) return ba = null, void Dt(t); - if (!lo || t.which && !(t.which < 10) || !ps(e, t)) { - var r = String.fromCharCode(null == n ? i : n); - "\b" != r && (gs(e, t, r) || e.display.input.onKeyPress(t)) - } - } - } - - function xs(t) { - var e = this, - i = e.display; - if (!(At(e, t) || i.activeTouch && i.input.supportsTouch())) { - if (i.input.ensurePolled(), i.shift = t.shiftKey, He(i, t)) return void(so || (i.scroller.draggable = !1, setTimeout(function() { - return i.scroller.draggable = !0 - }, 100))); - if (!Ts(e, t)) { - var n = Ci(e, t); - switch (window.focus(), Rt(t)) { - case 1: - e.state.selectingText ? e.state.selectingText(t) : n ? ws(e, t, n) : Ht(t) == i.scroller && Dt(t); - break; - case 2: - so && (e.state.lastMiddleDown = +new Date), n && lr(e.doc, n), setTimeout(function() { - return i.input.focus() - }, 20), Dt(t); - break; - case 3: - wo ? Ms(e, t) : Li(e) - } - } - } - } - - function ws(t, e, i) { - no ? setTimeout(l($i, t), 0) : t.curOp.focus = s(); - var n, r = +new Date; - ma && ma.time > r - 400 && 0 == I(ma.pos, i) ? n = "triple" : ga && ga.time > r - 400 && 0 == I(ga.pos, i) ? (n = "double", ma = { - time: r, - pos: i - }) : (n = "single", ga = { - time: r, - pos: i - }); - var o, a = t.doc.sel, - c = go ? e.metaKey : e.ctrlKey; - t.options.dragDrop && Ro && !t.isReadOnly() && "single" == n && (o = a.contains(i)) > -1 && (I((o = a.ranges[o]).from(), i) < 0 || i.xRel > 0) && (I(o.to(), i) > 0 || i.xRel < 0) ? Cs(t, e, i, c) : ks(t, e, i, n, c) - } - - function Cs(t, e, i, n) { - var r = t.display, - s = +new Date, - o = dn(t, function(a) { - so && (r.scroller.draggable = !1), t.state.draggingText = !1, $t(document, "mouseup", o), $t(r.scroller, "drop", o), Math.abs(e.clientX - a.clientX) + Math.abs(e.clientY - a.clientY) < 10 && (Dt(a), !n && +new Date - 200 < s && lr(t.doc, i), so || no && 9 == ro ? setTimeout(function() { - document.body.focus(), r.input.focus() - }, 20) : r.input.focus()) - }); - so && (r.scroller.draggable = !0), t.state.draggingText = o, o.copy = go ? e.altKey : e.ctrlKey, r.scroller.dragDrop && r.scroller.dragDrop(), Ho(document, "mouseup", o), Ho(r.scroller, "drop", o) - } - - function ks(t, e, i, n, r) { - function o(e) { - if (0 != I(b, e)) - if (b = e, "rect" == n) { - for (var r = [], s = t.options.tabSize, o = u(T(h, i.line).text, i.ch, s), a = u(T(h, e.line).text, e.ch, s), l = Math.min(o, a), c = Math.max(o, a), m = Math.min(i.line, e.line), v = Math.min(t.lastLine(), Math.max(i.line, e.line)); m <= v; m++) { - var y = T(h, m).text, - x = f(y, l, s); - l == c ? r.push(new In(O(m, x), O(m, x))) : y.length > x && r.push(new In(O(m, x), O(m, f(y, c, s)))) - } - r.length || r.push(new In(i, i)), pr(h, Dn(g.ranges.slice(0, p).concat(r), p), { - origin: "*mouse", - scroll: !1 - }), t.scrollIntoView(e) - } else { - var w = d, - C = w.anchor, - k = e; - if ("single" != n) { - var S; - S = "double" == n ? t.findWordAt(e) : new In(O(e.line, 0), H(h, O(e.line + 1, 0))), I(S.anchor, C) > 0 ? (k = S.head, C = z(w.from(), S.anchor)) : (k = S.anchor, C = _(w.to(), S.head)) - } - var M = g.ranges.slice(0); - M[p] = new In(H(h, C), k), pr(h, Dn(M, p), $o) - } - } - - function a(e) { - var i = ++w, - r = Ci(t, e, !0, "rect" == n); - if (r) - if (0 != I(r, b)) { - t.curOp.focus = s(), o(r); - var l = zi(c, h); - (r.line >= l.to || r.line < l.from) && setTimeout(dn(t, function() { - w == i && a(e) - }), 150) - } else { - var u = e.clientY < x.top ? -20 : e.clientY > x.bottom ? 20 : 0; - u && setTimeout(dn(t, function() { - w == i && (c.scroller.scrollTop += u, a(e)) - }), 50) - } - } - - function l(e) { - t.state.selectingText = !1, w = 1 / 0, Dt(e), c.input.focus(), $t(document, "mousemove", C), $t(document, "mouseup", k), h.history.lastSelOrigin = null - } - var c = t.display, - h = t.doc; - Dt(e); - var d, p, g = h.sel, - m = g.ranges; - if (r && !e.shiftKey ? (p = h.sel.contains(i), d = p > -1 ? m[p] : new In(i, i)) : (d = h.sel.primary(), p = h.sel.primIndex), mo ? e.shiftKey && e.metaKey : e.altKey) n = "rect", r || (d = new In(i, i)), i = Ci(t, e, !0, !0), p = -1; - else if ("double" == n) { - var v = t.findWordAt(i); - d = t.display.shift || h.extend ? ar(h, d, v.anchor, v.head) : v - } else if ("triple" == n) { - var y = new In(O(i.line, 0), H(h, O(i.line + 1, 0))); - d = t.display.shift || h.extend ? ar(h, d, y.anchor, y.head) : y - } else d = ar(h, d, i); - r ? -1 == p ? (p = m.length, pr(h, Dn(m.concat([d]), p), { - scroll: !1, - origin: "*mouse" - })) : m.length > 1 && m[p].empty() && "single" == n && !e.shiftKey ? (pr(h, Dn(m.slice(0, p).concat(m.slice(p + 1)), 0), { - scroll: !1, - origin: "*mouse" - }), g = h.sel) : ur(h, p, d, $o) : (p = 0, pr(h, new On([d], 0), $o), g = h.sel); - var b = i, - x = c.wrapper.getBoundingClientRect(), - w = 0, - C = dn(t, function(t) { - Rt(t) ? a(t) : l(t) - }), - k = dn(t, l); - t.state.selectingText = k, Ho(document, "mousemove", C), Ho(document, "mouseup", k) - } - - function Ss(t, e, i, n) { - var r, s; - try { - r = e.clientX, s = e.clientY - } catch (e) { - return !1 - } - if (r >= Math.floor(t.display.gutters.getBoundingClientRect().right)) return !1; - n && Dt(e); - var o = t.display, - a = o.lineDiv.getBoundingClientRect(); - if (s > a.bottom || !Ot(t, i)) return zt(e); - s -= a.top - o.viewOffset; - for (var l = 0; l < t.options.gutters.length; ++l) { - var c = o.gutters.childNodes[l]; - if (c && c.getBoundingClientRect().right >= r) { - return Lt(t, i, t, L(t.doc, s), t.options.gutters[l], e), zt(e) - } - } - } - - function Ts(t, e) { - return Ss(t, e, "gutterClick", !0) - } - - function Ms(t, e) { - He(t.display, e) || Es(t, e) || At(t, e, "contextmenu") || t.display.input.onContextMenu(e) - } - - function Es(t, e) { - return !!Ot(t, "gutterContextMenu") && Ss(t, e, "gutterContextMenu", !1) - } - - function Ps(t) { - t.display.wrapper.className = t.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + t.options.theme.replace(/(^|\s)\s*/g, " cm-s-"), si(t) - } - - function $s(t) { - An(t), gn(t), setTimeout(function() { - return Oi(t) - }, 20) - } - - function Ls(t, e, i) { - if (!e != !(i && i != xa)) { - var n = t.display.dragFunctions, - r = e ? Ho : $t; - r(t.display.scroller, "dragstart", n.start), r(t.display.scroller, "dragenter", n.enter), r(t.display.scroller, "dragover", n.over), r(t.display.scroller, "dragleave", n.leave), r(t.display.scroller, "drop", n.drop) - } - } - - function As(t) { - t.options.lineWrapping ? (o(t.display.wrapper, "CodeMirror-wrap"), t.display.sizer.style.minWidth = "", t.display.sizerWidth = null) : (Co(t.display.wrapper, "CodeMirror-wrap"), mt(t)), wi(t), gn(t), si(t), setTimeout(function() { - return qi(t) - }, 100) - } - - function Ns(t, e) { - var i = this; - if (!(this instanceof Ns)) return new Ns(t, e); - this.options = e = e ? c(e) : {}, c(wa, e, !1), Nn(e); - var n = e.value; - "string" == typeof n && (n = new aa(n, e.mode, null, e.lineSeparator)), this.doc = n; - var r = new Ns.inputStyles[e.inputStyle](this), - s = this.display = new S(t, n, r); - s.wrapper.CodeMirror = this, An(this), Ps(this), e.lineWrapping && (this.display.wrapper.className += " CodeMirror-wrap"), e.autofocus && !po && s.input.focus(), Gi(this), this.state = { - keyMaps: [], - overlays: [], - modeGen: 0, - overwrite: !1, - delayingBlurEvent: !1, - focused: !1, - suppressEdits: !1, - pasteIncoming: !1, - cutIncoming: !1, - selectingText: !1, - draggingText: !1, - highlight: new h, - keySeq: null, - specialChars: null - }, no && ro < 11 && setTimeout(function() { - return i.display.input.reset(!0) - }, 20), Os(this), Zr(), nn(this), this.curOp.forceUpdate = !0, Kn(this, n), e.autofocus && !po || this.hasFocus() ? setTimeout(l(Ai, this), 20) : Ni(this); - for (var o in Ca) Ca.hasOwnProperty(o) && Ca[o](i, e[o], xa); - Ii(this), e.finishInit && e.finishInit(this); - for (var a = 0; a < ka.length; ++a) ka[a](i); - rn(this), so && e.lineWrapping && "optimizelegibility" == getComputedStyle(s.lineDiv).textRendering && (s.lineDiv.style.textRendering = "auto") - } - - function Os(t) { - function e() { - r.activeTouch && (s = setTimeout(function() { - return r.activeTouch = null - }, 1e3), o = r.activeTouch, o.end = +new Date) - } - - function i(t) { - if (1 != t.touches.length) return !1; - var e = t.touches[0]; - return e.radiusX <= 1 && e.radiusY <= 1 - } - - function n(t, e) { - if (null == e.left) return !0; - var i = e.left - t.left, - n = e.top - t.top; - return i * i + n * n > 400 - } - var r = t.display; - Ho(r.scroller, "mousedown", dn(t, xs)), no && ro < 11 ? Ho(r.scroller, "dblclick", dn(t, function(e) { - if (!At(t, e)) { - var i = Ci(t, e); - if (i && !Ts(t, e) && !He(t.display, e)) { - Dt(e); - var n = t.findWordAt(i); - lr(t.doc, n.anchor, n.head) - } - } - })) : Ho(r.scroller, "dblclick", function(e) { - return At(t, e) || Dt(e) - }), wo || Ho(r.scroller, "contextmenu", function(e) { - return Ms(t, e) - }); - var s, o = { - end: 0 - }; - Ho(r.scroller, "touchstart", function(e) { - if (!At(t, e) && !i(e)) { - r.input.ensurePolled(), clearTimeout(s); - var n = +new Date; - r.activeTouch = { - start: n, - moved: !1, - prev: n - o.end <= 300 ? o : null - }, 1 == e.touches.length && (r.activeTouch.left = e.touches[0].pageX, r.activeTouch.top = e.touches[0].pageY) - } - }), Ho(r.scroller, "touchmove", function() { - r.activeTouch && (r.activeTouch.moved = !0) - }), Ho(r.scroller, "touchend", function(i) { - var s = r.activeTouch; - if (s && !He(r, i) && null != s.left && !s.moved && new Date - s.start < 300) { - var o, a = t.coordsChar(r.activeTouch, "page"); - o = !s.prev || n(s, s.prev) ? new In(a, a) : !s.prev.prev || n(s, s.prev.prev) ? t.findWordAt(a) : new In(O(a.line, 0), H(t.doc, O(a.line + 1, 0))), t.setSelection(o.anchor, o.head), t.focus(), Dt(i) - } - e() - }), Ho(r.scroller, "touchcancel", e), Ho(r.scroller, "scroll", function() { - r.scroller.clientHeight && (Fi(t, r.scroller.scrollTop), Hi(t, r.scroller.scrollLeft, !0), Lt(t, "scroll", t)) - }), Ho(r.scroller, "mousewheel", function(e) { - return Wi(t, e) - }), Ho(r.scroller, "DOMMouseScroll", function(e) { - return Wi(t, e) - }), Ho(r.wrapper, "scroll", function() { - return r.wrapper.scrollTop = r.wrapper.scrollLeft = 0 - }), r.dragFunctions = { - enter: function(e) { - At(t, e) || Ft(e) - }, - over: function(e) { - At(t, e) || (Yr(t, e), Ft(e)) - }, - start: function(e) { - return Gr(t, e) - }, - drop: dn(t, Kr), - leave: function(e) { - At(t, e) || Xr(t) - } - }; - var a = r.input.getField(); - Ho(a, "keyup", function(e) { - return ys.call(t, e) - }), Ho(a, "keydown", dn(t, ms)), Ho(a, "keypress", dn(t, bs)), Ho(a, "focus", function(e) { - return Ai(t, e) - }), Ho(a, "blur", function(e) { - return Ni(t, e) - }) - } - - function Is(t, e, i, n) { - var r, s = t.doc; - null == i && (i = "add"), "smart" == i && (s.mode.indent ? r = te(t, e) : i = "prev"); - var o = t.options.tabSize, - a = T(s, e), - l = u(a.text, null, o); - a.stateAfter && (a.stateAfter = null); - var c, h = a.text.match(/^\s*/)[0]; - if (n || /\S/.test(a.text)) { - if ("smart" == i && ((c = s.mode.indent(r, a.text.slice(h.length), a.text)) == Eo || c > 150)) { - if (!n) return; - i = "prev" - } - } else c = 0, i = "not"; - "prev" == i ? c = e > s.first ? u(T(s, e - 1).text, null, o) : 0 : "add" == i ? c = l + t.options.indentUnit : "subtract" == i ? c = l - t.options.indentUnit : "number" == typeof i && (c = l + i), c = Math.max(0, c); - var d = "", - f = 0; - if (t.options.indentWithTabs) - for (var g = Math.floor(c / o); g; --g) f += o, d += "\t"; - if (f < c && (d += p(c - f)), d != h) return Lr(s, d, O(e, 0), O(e, h.length), "+input"), a.stateAfter = null, !0; - for (var m = 0; m < s.sel.ranges.length; m++) { - var v = s.sel.ranges[m]; - if (v.head.line == e && v.head.ch < h.length) { - var y = O(e, h.length); - ur(s, m, new In(y, y)); - break - } - } - } - - function Ds(t) { - Sa = t - } - - function _s(t, e, i, n, r) { - var s = t.doc; - t.display.shift = !1, n || (n = s.sel); - var o = t.state.pasteIncoming || "paste" == r, - a = Vo(e), - l = null; - if (o && n.ranges.length > 1) - if (Sa && Sa.text.join("\n") == e) { - if (n.ranges.length % Sa.text.length == 0) { - l = []; - for (var c = 0; c < Sa.text.length; c++) l.push(s.splitLines(Sa.text[c])) - } - } else a.length == n.ranges.length && (l = m(a, function(t) { - return [t] - })); - for (var u, h = n.ranges.length - 1; h >= 0; h--) { - var d = n.ranges[h], - f = d.from(), - p = d.to(); - d.empty() && (i && i > 0 ? f = O(f.line, f.ch - i) : t.state.overwrite && !o ? p = O(p.line, Math.min(T(s, p.line).text.length, p.ch + g(a).length)) : Sa && Sa.lineWise && Sa.text.join("\n") == e && (f = p = O(f.line, 0))), u = t.curOp.updateInput; - var v = { - from: f, - to: p, - text: l ? l[h % l.length] : a, - origin: r || (o ? "paste" : t.state.cutIncoming ? "cut" : "+input") - }; - Sr(t.doc, v), Se(t, "inputRead", t, v) - } - e && !o && Fs(t, e), tn(t), t.curOp.updateInput = u, t.curOp.typing = !0, t.state.pasteIncoming = t.state.cutIncoming = !1 - } - - function zs(t, e) { - var i = t.clipboardData && t.clipboardData.getData("Text"); - if (i) return t.preventDefault(), e.isReadOnly() || e.options.disableInput || hn(e, function() { - return _s(e, i, 0, null, "paste") - }), !0 - } - - function Fs(t, e) { - if (t.options.electricChars && t.options.smartIndent) - for (var i = t.doc.sel, n = i.ranges.length - 1; n >= 0; n--) { - var r = i.ranges[n]; - if (!(r.head.ch > 100 || n && i.ranges[n - 1].head.line == r.head.line)) { - var s = t.getModeAt(r.head), - o = !1; - if (s.electricChars) { - for (var a = 0; a < s.electricChars.length; a++) - if (e.indexOf(s.electricChars.charAt(a)) > -1) { - o = Is(t, r.head.line, "smart"); - break - } - } else s.electricInput && s.electricInput.test(T(t.doc, r.head.line).text.slice(0, r.head.ch)) && (o = Is(t, r.head.line, "smart")); - o && Se(t, "electricInput", t, r.head.line) - } - } - } - - function Hs(t) { - for (var e = [], i = [], n = 0; n < t.doc.sel.ranges.length; n++) { - var r = t.doc.sel.ranges[n].head.line, - s = { - anchor: O(r, 0), - head: O(r + 1, 0) - }; - i.push(s), e.push(t.getRange(s.anchor, s.head)) - } - return { - text: e, - ranges: i - } - } - - function Rs(t, e) { - t.setAttribute("autocorrect", "off"), t.setAttribute("autocapitalize", "off"), t.setAttribute("spellcheck", !!e) - } - - function Vs() { - var t = n("textarea", null, null, "position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"), - e = n("div", [t], null, "overflow: hidden; position: relative; width: 3px; height: 0px;"); - return so ? t.style.width = "1000px" : t.setAttribute("wrap", "off"), fo && (t.style.border = "1px solid black"), Rs(t), e - } - - function Ws(t, e, i, n, r) { - function s() { - var e = a + i; - return !(e < t.first || e >= t.first + t.size) && (a = e, u = T(t, e)) - } - - function o(t) { - var e = (r ? Tt : Mt)(u, l, i, !0); - if (null == e) { - if (t || !s()) return !1; - l = r ? (i < 0 ? wt : xt)(u) : i < 0 ? u.text.length : 0 - } else l = e; - return !0 - } - var a = e.line, - l = e.ch, - c = i, - u = T(t, a); - if ("char" == n) o(); - else if ("column" == n) o(!0); - else if ("word" == n || "group" == n) - for (var h = null, d = "group" == n, f = t.cm && t.cm.getHelper(e, "wordChars"), p = !0; !(i < 0) || o(!p); p = !1) { - var g = u.text.charAt(l) || "\n", - m = w(g, f) ? "w" : d && "\n" == g ? "n" : !d || /\s/.test(g) ? null : "p"; - if (!d || p || m || (m = "s"), h && h != m) { - i < 0 && (i = 1, o()); - break - } - if (m && (h = m), i > 0 && !o(!p)) break - } - var v = xr(t, O(a, l), e, c, !0); - return I(e, v) || (v.hitSide = !0), v - } - - function Bs(t, e, i, n) { - var r, s = t.doc, - o = e.left; - if ("page" == n) { - var a = Math.min(t.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight), - l = Math.max(a - .5 * mi(t.display), 3); - r = (i > 0 ? e.bottom : e.top) + i * l - } else "line" == n && (r = i > 0 ? e.bottom + 3 : e.top - 3); - for (var c; c = pi(t, o, r), c.outside;) { - if (i < 0 ? r <= 0 : r >= s.height) { - c.hitSide = !0; - break - } - r += 5 * i - } - return c - } - - function js(t) { - this.cm = t, this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null, this.polling = new h, this.composing = null, this.gracePeriod = !1, this.readDOMTimeout = null - } - - function Us(t, e) { - var i = Xe(t, e.line); - if (!i || i.hidden) return null; - var n = T(t.doc, e.line), - r = Ke(i, n, e.line), - s = Et(n), - o = "left"; - if (s) { - o = kt(s, e.ch) % 2 ? "right" : "left" - } - var a = Qe(r.map, e.ch, o); - return a.offset = "right" == a.collapse ? a.end : a.start, a - } - - function qs(t, e) { - return e && (t.bad = !0), t - } - - function Ks(t, e, i, n, r) { - function s(t) { - return function(e) { - return e.id == t - } - } - - function o(e) { - if (1 == e.nodeType) { - var i = e.getAttribute("cm-text"); - if (null != i) return void(a += "" == i ? e.textContent.replace(/\u200b/g, "") : i); - var u, h = e.getAttribute("cm-marker"); - if (h) { - var d = t.findMarks(O(n, 0), O(r + 1, 0), s(+h)); - return void(d.length && (u = d[0].find()) && (a += M(t.doc, u.from, u.to).join(c))) - } - if ("false" == e.getAttribute("contenteditable")) return; - for (var f = 0; f < e.childNodes.length; f++) o(e.childNodes[f]); - /^(pre|div|p)$/i.test(e.nodeName) && (l = !0) - } else if (3 == e.nodeType) { - var p = e.nodeValue; - if (!p) return; - l && (a += c, l = !1), a += p - } - } - for (var a = "", l = !1, c = t.doc.lineSeparator(); o(e), e != i;) e = e.nextSibling; - return a - } - - function Gs(t, e, i) { - var n; - if (e == t.display.lineDiv) { - if (!(n = t.display.lineDiv.childNodes[i])) return qs(t.clipPos(O(t.display.viewTo - 1)), !0); - e = null, i = 0 - } else - for (n = e;; n = n.parentNode) { - if (!n || n == t.display.lineDiv) return null; - if (n.parentNode && n.parentNode == t.display.lineDiv) break - } - for (var r = 0; r < t.display.view.length; r++) { - var s = t.display.view[r]; - if (s.node == n) return Ys(s, e, i) - } - } - - function Ys(t, e, i) { - function n(e, i, n) { - for (var r = -1; r < (h ? h.length : 0); r++) - for (var s = r < 0 ? u.map : h[r], o = 0; o < s.length; o += 3) { - var a = s[o + 2]; - if (a == e || a == i) { - var l = $(r < 0 ? t.line : t.rest[r]), - c = s[o] + n; - return (n < 0 || a != e) && (c = s[o + (n ? 1 : 0)]), O(l, c) - } - } - } - var s = t.text.firstChild, - o = !1; - if (!e || !r(s, e)) return qs(O($(t.line), 0), !0); - if (e == s && (o = !0, e = s.childNodes[i], i = 0, !e)) { - var a = t.rest ? g(t.rest) : t.line; - return qs(O($(a), a.text.length), o) - } - var l = 3 == e.nodeType ? e : null, - c = e; - for (l || 1 != e.childNodes.length || 3 != e.firstChild.nodeType || (l = e.firstChild, i && (i = l.nodeValue.length)); c.parentNode != s;) c = c.parentNode; - var u = t.measure, - h = u.maps, - d = n(l, c, i); - if (d) return qs(d, o); - for (var f = c.nextSibling, p = l ? l.nodeValue.length - i : 0; f; f = f.nextSibling) { - if (d = n(f, f.firstChild, 0)) return qs(O(d.line, d.ch - p), o); - p += f.textContent.length - } - for (var m = c.previousSibling, v = i; m; m = m.previousSibling) { - if (d = n(m, m.firstChild, -1)) return qs(O(d.line, d.ch + v), o); - v += m.textContent.length - } - } - - function Xs(t) { - this.cm = t, this.prevInput = "", this.pollingFast = !1, this.polling = new h, this.inaccurateSelection = !1, this.hasSelection = !1, this.composing = null - } - - function Js(t, e) { - function i() { - t.value = l.getValue() - } - if (e = e ? c(e) : {}, e.value = t.value, !e.tabindex && t.tabIndex && (e.tabindex = t.tabIndex), !e.placeholder && t.placeholder && (e.placeholder = t.placeholder), null == e.autofocus) { - var n = s(); - e.autofocus = n == t || null != t.getAttribute("autofocus") && n == document.body - } - var r; - if (t.form && (Ho(t.form, "submit", i), !e.leaveSubmitMethodAlone)) { - var o = t.form; - r = o.submit; - try { - var a = o.submit = function() { - i(), o.submit = r, o.submit(), o.submit = a - } - } catch (t) {} - } - e.finishInit = function(e) { - e.save = i, e.getTextArea = function() { - return t - }, e.toTextArea = function() { - e.toTextArea = isNaN, i(), t.parentNode.removeChild(e.getWrapperElement()), t.style.display = "", t.form && ($t(t.form, "submit", i), "function" == typeof t.form.submit && (t.form.submit = r)) - } - }, t.style.display = "none"; - var l = Ns(function(e) { - return t.parentNode.insertBefore(e, t.nextSibling) - }, e); - return l - } - var Zs = navigator.userAgent, - Qs = navigator.platform, - to = /gecko\/\d/i.test(Zs), - eo = /MSIE \d/.test(Zs), - io = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Zs), - no = eo || io, - ro = no && (eo ? document.documentMode || 6 : io[1]), - so = /WebKit\//.test(Zs), - oo = so && /Qt\/\d+\.\d+/.test(Zs), - ao = /Chrome\//.test(Zs), - lo = /Opera\//.test(Zs), - co = /Apple Computer/.test(navigator.vendor), - uo = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(Zs), - ho = /PhantomJS/.test(Zs), - fo = /AppleWebKit/.test(Zs) && /Mobile\/\w+/.test(Zs), - po = fo || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(Zs), - go = fo || /Mac/.test(Qs), - mo = /\bCrOS\b/.test(Zs), - vo = /win/i.test(Qs), - yo = lo && Zs.match(/Version\/(\d*\.\d*)/); - yo && (yo = Number(yo[1])), yo && yo >= 15 && (lo = !1, so = !0); - var bo, xo = go && (oo || lo && (null == yo || yo < 12.11)), - wo = to || no && ro >= 9, - Co = function(e, i) { - var n = e.className, - r = t(i).exec(n); - if (r) { - var s = n.slice(r.index + r[0].length); - e.className = n.slice(0, r.index) + (s ? r[1] + s : "") - } - }; - bo = document.createRange ? function(t, e, i, n) { - var r = document.createRange(); - return r.setEnd(n || t, i), r.setStart(t, e), r - } : function(t, e, i) { - var n = document.body.createTextRange(); - try { - n.moveToElementText(t.parentNode) - } catch (t) { - return n - } - return n.collapse(!0), n.moveEnd("character", i), n.moveStart("character", e), n - }; - var ko = function(t) { - t.select() - }; - fo ? ko = function(t) { - t.selectionStart = 0, t.selectionEnd = t.value.length - } : no && (ko = function(t) { - try { - t.select() - } catch (t) {} - }), h.prototype.set = function(t, e) { - clearTimeout(this.id), this.id = setTimeout(e, t) - }; - var So, To, Mo = 30, - Eo = { - toString: function() { - return "CodeMirror.Pass" - } - }, - Po = { - scroll: !1 - }, - $o = { - origin: "*mouse" - }, - Lo = { - origin: "+move" - }, - Ao = [""], - No = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/, - Oo = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/, - Io = !1, - Do = !1, - _o = null, - zo = function() { - function t(t) { - return t <= 247 ? i.charAt(t) : 1424 <= t && t <= 1524 ? "R" : 1536 <= t && t <= 1773 ? n.charAt(t - 1536) : 1774 <= t && t <= 2220 ? "r" : 8192 <= t && t <= 8203 ? "w" : 8204 == t ? "b" : "L" - } - - function e(t, e, i) { - this.level = t, this.from = e, this.to = i - } - var i = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN", - n = "rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm", - r = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/, - s = /[stwN]/, - o = /[LRr]/, - a = /[Lb1n]/, - l = /[1n]/; - return function(i) { - if (!r.test(i)) return !1; - for (var n = i.length, c = [], u = 0; u < n; ++u) c.push(t(i.charCodeAt(u))); - for (var h = 0, d = "L"; h < n; ++h) { - var f = c[h]; - "m" == f ? c[h] = d : d = f - } - for (var p = 0, m = "L"; p < n; ++p) { - var v = c[p]; - "1" == v && "r" == m ? c[p] = "n" : o.test(v) && (m = v, "r" == v && (c[p] = "R")) - } - for (var y = 1, b = c[0]; y < n - 1; ++y) { - var x = c[y]; - "+" == x && "1" == b && "1" == c[y + 1] ? c[y] = "1" : "," != x || b != c[y + 1] || "1" != b && "n" != b || (c[y] = b), b = x - } - for (var w = 0; w < n; ++w) { - var C = c[w]; - if ("," == C) c[w] = "N"; - else if ("%" == C) { - var k = void 0; - for (k = w + 1; k < n && "%" == c[k]; ++k); - for (var S = w && "!" == c[w - 1] || k < n && "1" == c[k] ? "1" : "N", T = w; T < k; ++T) c[T] = S; - w = k - 1 - } - } - for (var M = 0, E = "L"; M < n; ++M) { - var P = c[M]; - "L" == E && "1" == P ? c[M] = "L" : o.test(P) && (E = P) - } - for (var $ = 0; $ < n; ++$) - if (s.test(c[$])) { - var L = void 0; - for (L = $ + 1; L < n && s.test(c[L]); ++L); - for (var A = "L" == ($ ? c[$ - 1] : "L"), N = "L" == (L < n ? c[L] : "L"), O = A || N ? "L" : "R", I = $; I < L; ++I) c[I] = O; - $ = L - 1 - } - for (var D, _ = [], z = 0; z < n;) - if (a.test(c[z])) { - var F = z; - for (++z; z < n && a.test(c[z]); ++z); - _.push(new e(0, F, z)) - } else { - var H = z, - R = _.length; - for (++z; z < n && "L" != c[z]; ++z); - for (var V = H; V < z;) - if (l.test(c[V])) { - H < V && _.splice(R, 0, new e(1, H, V)); - var W = V; - for (++V; V < z && l.test(c[V]); ++V); - _.splice(R, 0, new e(2, W, V)), H = V - } else ++V; - H < z && _.splice(R, 0, new e(1, H, z)) - } - return 1 == _[0].level && (D = i.match(/^\s+/)) && (_[0].from = D[0].length, _.unshift(new e(0, 0, D[0].length))), 1 == g(_).level && (D = i.match(/\s+$/)) && (g(_).to -= D[0].length, _.push(new e(0, n - D[0].length, n))), 2 == _[0].level && _.unshift(new e(1, _[0].to, _[0].to)), _[0].level != g(_).level && _.push(new e(_[0].level, n, n)), _ - } - }(), - Fo = [], - Ho = function(t, e, i) { - if (t.addEventListener) t.addEventListener(e, i, !1); - else if (t.attachEvent) t.attachEvent("on" + e, i); - else { - var n = t._handlers || (t._handlers = {}); - n[e] = (n[e] || Fo).concat(i) - } - }, - Ro = function() { - if (no && ro < 9) return !1; - var t = n("div"); - return "draggable" in t || "dragDrop" in t - }(), - Vo = 3 != "\n\nb".split(/\n/).length ? function(t) { - for (var e = 0, i = [], n = t.length; e <= n;) { - var r = t.indexOf("\n", e); - 1 == r && (r = t.length); - var s = t.slice(e, "\r" == t.charAt(r - 1) ? r - 1 : r), - o = s.indexOf("\r"); - 1 != o ? (i.push(s.slice(0, o)), e += o + 1) : (i.push(s), e = r + 1) - } - return i - } : function(t) { - return t.split(/\r\n?|\n/) - }, - Wo = window.getSelection ? function(t) { - try { - return t.selectionStart != t.selectionEnd - } catch (t) { - return !1 - } - } : function(t) { - var e; - try { - e = t.ownerDocument.selection.createRange() - } catch (t) {} - return !(!e || e.parentElement() != t) && 0 != e.compareEndPoints("StartToEnd", e) - }, - Bo = function() { - var t = n("div"); - return "oncopy" in t || (t.setAttribute("oncopy", "return;"), "function" == typeof t.oncopy) - }(), - jo = null, - Uo = {}, - qo = {}, - Ko = {}, - Go = function(t, e) { - this.pos = this.start = 0, this.string = t, this.tabSize = e || 8, this.lastColumnPos = this.lastColumnValue = 0, this.lineStart = 0 - }; - Go.prototype = { - eol: function() { - return this.pos >= this.string.length - }, - sol: function() { - return this.pos == this.lineStart - }, - peek: function() { - return this.string.charAt(this.pos) || void 0 - }, - next: function() { - if (this.pos < this.string.length) return this.string.charAt(this.pos++) - }, - eat: function(t) { - var e = this.string.charAt(this.pos); - if ("string" == typeof t ? e == t : e && (t.test ? t.test(e) : t(e))) return ++this.pos, e - }, - eatWhile: function(t) { - for (var e = this.pos; this.eat(t);); - return this.pos > e - }, - eatSpace: function() { - for (var t = this, e = this.pos; - /[\s\u00a0]/.test(this.string.charAt(this.pos));) ++t.pos; - return this.pos > e - }, - skipToEnd: function() { - this.pos = this.string.length - }, - skipTo: function(t) { - var e = this.string.indexOf(t, this.pos); - if (e > -1) return this.pos = e, !0 - }, - backUp: function(t) { - this.pos -= t - }, - column: function() { - return this.lastColumnPos < this.start && (this.lastColumnValue = u(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue), this.lastColumnPos = this.start), this.lastColumnValue - (this.lineStart ? u(this.string, this.lineStart, this.tabSize) : 0) - }, - indentation: function() { - return u(this.string, null, this.tabSize) - (this.lineStart ? u(this.string, this.lineStart, this.tabSize) : 0) - }, - match: function(t, e, i) { - if ("string" != typeof t) { - var n = this.string.slice(this.pos).match(t); - return n && n.index > 0 ? null : (n && !1 !== e && (this.pos += n[0].length), n) - } - var r = function(t) { - return i ? t.toLowerCase() : t - }; - if (r(this.string.substr(this.pos, t.length)) == r(t)) return !1 !== e && (this.pos += t.length), !0 - }, - current: function() { - return this.string.slice(this.start, this.pos) - }, - hideFirstChars: function(t, e) { - this.lineStart += t; - try { - return e() - } finally { - this.lineStart -= t - } - } - }, It(le), le.prototype.lineNo = function() { - return $(this) - }; - var Yo, Xo = {}, - Jo = {}, - Zo = null, - Qo = null, - ta = { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - ea = 0, - ia = null; - no ? ia = -.53 : to ? ia = 15 : ao ? ia = -.7 : co && (ia = -1 / 3), ji.prototype = c({ - update: function(t) { - var e = t.scrollWidth > t.clientWidth + 1, - i = t.scrollHeight > t.clientHeight + 1, - n = t.nativeBarWidth; - if (i) { - this.vert.style.display = "block", this.vert.style.bottom = e ? n + "px" : "0"; - var r = t.viewHeight - (e ? n : 0); - this.vert.firstChild.style.height = Math.max(0, t.scrollHeight - t.clientHeight + r) + "px" - } else this.vert.style.display = "", this.vert.firstChild.style.height = "0"; - if (e) { - this.horiz.style.display = "block", this.horiz.style.right = i ? n + "px" : "0", this.horiz.style.left = t.barLeft + "px"; - var s = t.viewWidth - t.barLeft - (i ? n : 0); - this.horiz.firstChild.style.width = t.scrollWidth - t.clientWidth + s + "px" - } else this.horiz.style.display = "", this.horiz.firstChild.style.width = "0"; - return !this.checkedZeroWidth && t.clientHeight > 0 && (0 == n && this.zeroWidthHack(), this.checkedZeroWidth = !0), { - right: i ? n : 0, - bottom: e ? n : 0 - } - }, - setScrollLeft: function(t) { - this.horiz.scrollLeft != t && (this.horiz.scrollLeft = t), this.disableHoriz && this.enableZeroWidthBar(this.horiz, this.disableHoriz) - }, - setScrollTop: function(t) { - this.vert.scrollTop != t && (this.vert.scrollTop = t), this.disableVert && this.enableZeroWidthBar(this.vert, this.disableVert) - }, - zeroWidthHack: function() { - var t = go && !uo ? "12px" : "18px"; - this.horiz.style.height = this.vert.style.width = t, this.horiz.style.pointerEvents = this.vert.style.pointerEvents = "none", this.disableHoriz = new h, this.disableVert = new h - }, - enableZeroWidthBar: function(t, e) { - function i() { - var n = t.getBoundingClientRect(); - document.elementFromPoint(n.left + 1, n.bottom - 1) != t ? t.style.pointerEvents = "none" : e.set(1e3, i) - } - t.style.pointerEvents = "auto", e.set(1e3, i) - }, - clear: function() { - var t = this.horiz.parentNode; - t.removeChild(this.horiz), t.removeChild(this.vert) - } - }, ji.prototype), Ui.prototype = c({ - update: function() { - return { - bottom: 0, - right: 0 - } - }, - setScrollLeft: function() {}, - setScrollTop: function() {}, - clear: function() {} - }, Ui.prototype); - var na = { - native: ji, - null: Ui - }, - ra = 0; - kn.prototype.signal = function(t, e) { - Ot(t, e) && this.events.push(arguments) - }, kn.prototype.finish = function() { - for (var t = this, e = 0; e < this.events.length; e++) Lt.apply(null, t.events[e]) - }, On.prototype = { - primary: function() { - return this.ranges[this.primIndex] - }, - equals: function(t) { - var e = this; - if (t == this) return !0; - if (t.primIndex != this.primIndex || t.ranges.length != this.ranges.length) return !1; - for (var i = 0; i < this.ranges.length; i++) { - var n = e.ranges[i], - r = t.ranges[i]; - if (0 != I(n.anchor, r.anchor) || 0 != I(n.head, r.head)) return !1 - } - return !0 - }, - deepCopy: function() { - for (var t = this, e = [], i = 0; i < this.ranges.length; i++) e[i] = new In(D(t.ranges[i].anchor), D(t.ranges[i].head)); - return new On(e, this.primIndex) - }, - somethingSelected: function() { - for (var t = this, e = 0; e < this.ranges.length; e++) - if (!t.ranges[e].empty()) return !0; - return !1 - }, - contains: function(t, e) { - var i = this; - e || (e = t); - for (var n = 0; n < this.ranges.length; n++) { - var r = i.ranges[n]; - if (I(e, r.from()) >= 0 && I(t, r.to()) <= 0) return n - } - return -1 - } - }, In.prototype = { - from: function() { - return z(this.anchor, this.head) - }, - to: function() { - return _(this.anchor, this.head) - }, - empty: function() { - return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch - } - }, Dr.prototype = { - chunkSize: function() { - return this.lines.length - }, - removeInner: function(t, e) { - for (var i = this, n = t, r = t + e; n < r; ++n) { - var s = i.lines[n]; - i.height -= s.height, ue(s), Se(s, "delete") - } - this.lines.splice(t, e) - }, - collapse: function(t) { - t.push.apply(t, this.lines) - }, - insertInner: function(t, e, i) { - var n = this; - this.height += i, this.lines = this.lines.slice(0, t).concat(e).concat(this.lines.slice(t)); - for (var r = 0; r < e.length; ++r) e[r].parent = n - }, - iterN: function(t, e, i) { - for (var n = this, r = t + e; t < r; ++t) - if (i(n.lines[t])) return !0 - } - }, _r.prototype = { - chunkSize: function() { - return this.size - }, - removeInner: function(t, e) { - var i = this; - this.size -= e; - for (var n = 0; n < this.children.length; ++n) { - var r = i.children[n], - s = r.chunkSize(); - if (t < s) { - var o = Math.min(e, s - t), - a = r.height; - if (r.removeInner(t, o), i.height -= a - r.height, s == o && (i.children.splice(n--, 1), r.parent = null), 0 == (e -= o)) break; - t = 0 - } else t -= s - } - if (this.size - e < 25 && (this.children.length > 1 || !(this.children[0] instanceof Dr))) { - var l = []; - this.collapse(l), this.children = [new Dr(l)], this.children[0].parent = this - } - }, - collapse: function(t) { - for (var e = this, i = 0; i < this.children.length; ++i) e.children[i].collapse(t) - }, - insertInner: function(t, e, i) { - var n = this; - this.size += e.length, this.height += i; - for (var r = 0; r < this.children.length; ++r) { - var s = n.children[r], - o = s.chunkSize(); - if (t <= o) { - if (s.insertInner(t, e, i), s.lines && s.lines.length > 50) { - for (var a = s.lines.length % 25 + 25, l = a; l < s.lines.length;) { - var c = new Dr(s.lines.slice(l, l += 25)); - s.height -= c.height, n.children.splice(++r, 0, c), c.parent = n - } - s.lines = s.lines.slice(0, a), n.maybeSpill() - } - break - } - t -= o - } - }, - maybeSpill: function() { - if (!(this.children.length <= 10)) { - var t = this; - do { - var e = t.children.splice(t.children.length - 5, 5), - i = new _r(e); - if (t.parent) { - t.size -= i.size, t.height -= i.height; - var n = d(t.parent.children, t); - t.parent.children.splice(n + 1, 0, i) - } else { - var r = new _r(t.children); - r.parent = t, t.children = [r, i], t = r - } - i.parent = t.parent - } while (t.children.length > 10); - t.parent.maybeSpill() - } - }, - iterN: function(t, e, i) { - for (var n = this, r = 0; r < this.children.length; ++r) { - var s = n.children[r], - o = s.chunkSize(); - if (t < o) { - var a = Math.min(e, o - t); - if (s.iterN(t, a, i)) return !0; - if (0 == (e -= a)) break; - t = 0 - } else t -= o - } - } - }, It(zr), zr.prototype.clear = function() { - var t = this, - e = this.doc.cm, - i = this.line.widgets, - n = this.line, - r = $(n); - if (null != r && i) { - for (var s = 0; s < i.length; ++s) i[s] == t && i.splice(s--, 1); - i.length || (n.widgets = null); - var o = Fe(this); - P(n, Math.max(0, n.height - o)), e && hn(e, function() { - Fr(e, n, -o), mn(e, r, "widget") - }) - } - }, zr.prototype.changed = function() { - var t = this.height, - e = this.doc.cm, - i = this.line; - this.height = null; - var n = Fe(this) - t; - n && (P(i, i.height + n), e && hn(e, function() { - e.curOp.forceUpdate = !0, Fr(e, i, n) - })) - }; - var sa = 0; - It(Rr), Rr.prototype.clear = function() { - var t = this; - if (!this.explicitlyCleared) { - var e = this.doc.cm, - i = e && !e.curOp; - if (i && nn(e), Ot(this, "clear")) { - var n = this.find(); - n && Se(this, "clear", n.from, n.to) - } - for (var r = null, s = null, o = 0; o < this.lines.length; ++o) { - var a = t.lines[o], - l = U(a.markedSpans, t); - e && !t.collapsed ? mn(e, $(a), "text") : e && (null != l.to && (s = $(a)), null != l.from && (r = $(a))), a.markedSpans = q(a.markedSpans, l), null == l.from && t.collapsed && !dt(t.doc, a) && e && P(a, mi(e.display)) - } - if (e && this.collapsed && !e.options.lineWrapping) - for (var c = 0; c < this.lines.length; ++c) { - var u = lt(t.lines[c]), - h = gt(u); - h > e.display.maxLineLength && (e.display.maxLine = u, e.display.maxLineLength = h, e.display.maxLineChanged = !0) - } - null != r && e && this.collapsed && gn(e, r, s + 1), this.lines.length = 0, this.explicitlyCleared = !0, this.atomic && this.doc.cantEdit && (this.doc.cantEdit = !1, e && vr(e.doc)), e && Se(e, "markerCleared", e, this), i && rn(e), this.parent && this.parent.clear() - } - }, Rr.prototype.find = function(t, e) { - var i = this; - null == t && "bookmark" == this.type && (t = 1); - for (var n, r, s = 0; s < this.lines.length; ++s) { - var o = i.lines[s], - a = U(o.markedSpans, i); - if (null != a.from && (n = O(e ? o : $(o), a.from), -1 == t)) return n; - if (null != a.to && (r = O(e ? o : $(o), a.to), 1 == t)) return r - } - return n && { - from: n, - to: r - } - }, Rr.prototype.changed = function() { - var t = this.find(-1, !0), - e = this, - i = this.doc.cm; - t && i && hn(i, function() { - var n = t.line, - r = $(t.line), - s = Xe(i, r); - if (s && (ni(s), i.curOp.selectionChanged = i.curOp.forceUpdate = !0), i.curOp.updateMaxLine = !0, !dt(e.doc, n) && null != e.height) { - var o = e.height; - e.height = null; - var a = Fe(e) - o; - a && P(n, n.height + a) - } - }) - }, Rr.prototype.attachLine = function(t) { - if (!this.lines.length && this.doc.cm) { - var e = this.doc.cm.curOp; - e.maybeHiddenMarkers && -1 != d(e.maybeHiddenMarkers, this) || (e.maybeUnhiddenMarkers || (e.maybeUnhiddenMarkers = [])).push(this) - } - this.lines.push(t) - }, Rr.prototype.detachLine = function(t) { - if (this.lines.splice(d(this.lines, t), 1), !this.lines.length && this.doc.cm) { - var e = this.doc.cm.curOp; - (e.maybeHiddenMarkers || (e.maybeHiddenMarkers = [])).push(this) - } - }, It(Wr), Wr.prototype.clear = function() { - var t = this; - if (!this.explicitlyCleared) { - this.explicitlyCleared = !0; - for (var e = 0; e < this.markers.length; ++e) t.markers[e].clear(); - Se(this, "clear") - } - }, Wr.prototype.find = function(t, e) { - return this.primary.find(t, e) - }; - var oa = 0, - aa = function(t, e, i, n) { - if (!(this instanceof aa)) return new aa(t, e, i, n); - null == i && (i = 0), _r.call(this, [new Dr([new le("", null)])]), this.first = i, this.scrollTop = this.scrollLeft = 0, this.cantEdit = !1, this.cleanGeneration = 1, this.frontier = i; - var r = O(i, 0); - this.sel = _n(r), this.history = new Gn(null), this.id = ++oa, this.modeOption = e, this.lineSep = n, this.extend = !1, "string" == typeof t && (t = this.splitLines(t)), Un(this, { - from: r, - to: r, - text: t - }), pr(this, _n(r), Po) - }; - aa.prototype = b(_r.prototype, { - constructor: aa, - iter: function(t, e, i) { - i ? this.iterN(t - this.first, e - t, i) : this.iterN(this.first, this.first + this.size, t) - }, - insert: function(t, e) { - for (var i = 0, n = 0; n < e.length; ++n) i += e[n].height; - this.insertInner(t - this.first, e, i) - }, - remove: function(t, e) { - this.removeInner(t - this.first, e) - }, - getValue: function(t) { - var e = E(this, this.first, this.first + this.size); - return !1 === t ? e : e.join(t || this.lineSeparator()) - }, - setValue: pn(function(t) { - var e = O(this.first, 0), - i = this.first + this.size - 1; - Sr(this, { - from: e, - to: O(i, T(this, i).text.length), - text: this.splitLines(t), - origin: "setValue", - full: !0 - }, !0), pr(this, _n(e)) - }), - replaceRange: function(t, e, i, n) { - e = H(this, e), i = i ? H(this, i) : e, Lr(this, t, e, i, n) - }, - getRange: function(t, e, i) { - var n = M(this, H(this, t), H(this, e)); - return !1 === i ? n : n.join(i || this.lineSeparator()) - }, - getLine: function(t) { - var e = this.getLineHandle(t); - return e && e.text - }, - getLineHandle: function(t) { - if (A(this, t)) return T(this, t) - }, - getLineNumber: function(t) { - return $(t) - }, - getLineHandleVisualStart: function(t) { - return "number" == typeof t && (t = T(this, t)), lt(t) - }, - lineCount: function() { - return this.size - }, - firstLine: function() { - return this.first - }, - lastLine: function() { - return this.first + this.size - 1 - }, - clipPos: function(t) { - return H(this, t) - }, - getCursor: function(t) { - var e = this.sel.primary(); - return null == t || "head" == t ? e.head : "anchor" == t ? e.anchor : "end" == t || "to" == t || !1 === t ? e.to() : e.from() - }, - listSelections: function() { - return this.sel.ranges - }, - somethingSelected: function() { - return this.sel.somethingSelected() - }, - setCursor: pn(function(t, e, i) { - hr(this, H(this, "number" == typeof t ? O(t, e || 0) : t), null, i) - }), - setSelection: pn(function(t, e, i) { - hr(this, H(this, t), H(this, e || t), i) - }), - extendSelection: pn(function(t, e, i) { - lr(this, H(this, t), e && H(this, e), i) - }), - extendSelections: pn(function(t, e) { - cr(this, V(this, t), e) - }), - extendSelectionsBy: pn(function(t, e) { - cr(this, V(this, m(this.sel.ranges, t)), e) - }), - setSelections: pn(function(t, e, i) { - var n = this; - if (t.length) { - for (var r = [], s = 0; s < t.length; s++) r[s] = new In(H(n, t[s].anchor), H(n, t[s].head)); - null == e && (e = Math.min(t.length - 1, this.sel.primIndex)), pr(this, Dn(r, e), i) - } - }), - addSelection: pn(function(t, e, i) { - var n = this.sel.ranges.slice(0); - n.push(new In(H(this, t), H(this, e || t))), pr(this, Dn(n, n.length - 1), i) - }), - getSelection: function(t) { - for (var e, i = this, n = this.sel.ranges, r = 0; r < n.length; r++) { - var s = M(i, n[r].from(), n[r].to()); - e = e ? e.concat(s) : s - } - return !1 === t ? e : e.join(t || this.lineSeparator()) - }, - getSelections: function(t) { - for (var e = this, i = [], n = this.sel.ranges, r = 0; r < n.length; r++) { - var s = M(e, n[r].from(), n[r].to()); - !1 !== t && (s = s.join(t || e.lineSeparator())), i[r] = s - } - return i - }, - replaceSelection: function(t, e, i) { - for (var n = [], r = 0; r < this.sel.ranges.length; r++) n[r] = t; - this.replaceSelections(n, e, i || "+input") - }, - replaceSelections: pn(function(t, e, i) { - for (var n = this, r = [], s = this.sel, o = 0; o < s.ranges.length; o++) { - var a = s.ranges[o]; - r[o] = { - from: a.from(), - to: a.to(), - text: n.splitLines(t[o]), - origin: i - } - } - for (var l = e && "end" != e && Vn(this, r, e), c = r.length - 1; c >= 0; c--) Sr(n, r[c]); - l ? fr(this, l) : this.cm && tn(this.cm) - }), - undo: pn(function() { - Mr(this, "undo") - }), - redo: pn(function() { - Mr(this, "redo") - }), - undoSelection: pn(function() { - Mr(this, "undo", !0) - }), - redoSelection: pn(function() { - Mr(this, "redo", !0) - }), - setExtending: function(t) { - this.extend = t - }, - getExtending: function() { - return this.extend - }, - historySize: function() { - for (var t = this.history, e = 0, i = 0, n = 0; n < t.done.length; n++) t.done[n].ranges || ++e; - for (var r = 0; r < t.undone.length; r++) t.undone[r].ranges || ++i; - return { - undo: e, - redo: i - } - }, - clearHistory: function() { - this.history = new Gn(this.history.maxGeneration) - }, - markClean: function() { - this.cleanGeneration = this.changeGeneration(!0) - }, - changeGeneration: function(t) { - return t && (this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null), this.history.generation - }, - isClean: function(t) { - return this.history.generation == (t || this.cleanGeneration) - }, - getHistory: function() { - return { - done: or(this.history.done), - undone: or(this.history.undone) - } - }, - setHistory: function(t) { - var e = this.history = new Gn(this.history.maxGeneration); - e.done = or(t.done.slice(0), null, !0), e.undone = or(t.undone.slice(0), null, !0) - }, - setGutterMarker: pn(function(t, e, i) { - return Ir(this, t, "gutter", function(t) { - var n = t.gutterMarkers || (t.gutterMarkers = {}); - return n[e] = i, !i && C(n) && (t.gutterMarkers = null), !0 - }) - }), - clearGutter: pn(function(t) { - var e = this, - i = this.first; - this.iter(function(n) { - n.gutterMarkers && n.gutterMarkers[t] && Ir(e, n, "gutter", function() { - return n.gutterMarkers[t] = null, C(n.gutterMarkers) && (n.gutterMarkers = null), !0 - }), ++i - }) - }), - lineInfo: function(t) { - var e; - if ("number" == typeof t) { - if (!A(this, t)) return null; - if (e = t, !(t = T(this, t))) return null - } else if (null == (e = $(t))) return null; - return { - line: e, - handle: t, - text: t.text, - gutterMarkers: t.gutterMarkers, - textClass: t.textClass, - bgClass: t.bgClass, - wrapClass: t.wrapClass, - widgets: t.widgets - } - }, - addLineClass: pn(function(e, i, n) { - return Ir(this, e, "gutter" == i ? "gutter" : "class", function(e) { - var r = "text" == i ? "textClass" : "background" == i ? "bgClass" : "gutter" == i ? "gutterClass" : "wrapClass"; - if (e[r]) { - if (t(n).test(e[r])) return !1; - e[r] += " " + n - } else e[r] = n; - return !0 - }) - }), - removeLineClass: pn(function(e, i, n) { - return Ir(this, e, "gutter" == i ? "gutter" : "class", function(e) { - var r = "text" == i ? "textClass" : "background" == i ? "bgClass" : "gutter" == i ? "gutterClass" : "wrapClass", - s = e[r]; - if (!s) return !1; - if (null == n) e[r] = null; - else { - var o = s.match(t(n)); - if (!o) return !1; - var a = o.index + o[0].length; - e[r] = s.slice(0, o.index) + (o.index && a != s.length ? " " : "") + s.slice(a) || null - } - return !0 - }) - }), - addLineWidget: pn(function(t, e, i) { - return Hr(this, t, e, i) - }), - removeLineWidget: function(t) { - t.clear() - }, - markText: function(t, e, i) { - return Vr(this, H(this, t), H(this, e), i, i && i.type || "range") - }, - setBookmark: function(t, e) { - var i = { - replacedWith: e && (null == e.nodeType ? e.widget : e), - insertLeft: e && e.insertLeft, - clearWhenEmpty: !1, - shared: e && e.shared, - handleMouseEvents: e && e.handleMouseEvents - }; - return t = H(this, t), Vr(this, t, t, i, "bookmark") - }, - findMarksAt: function(t) { - t = H(this, t); - var e = [], - i = T(this, t.line).markedSpans; - if (i) - for (var n = 0; n < i.length; ++n) { - var r = i[n]; - (null == r.from || r.from <= t.ch) && (null == r.to || r.to >= t.ch) && e.push(r.marker.parent || r.marker) - } - return e - }, - findMarks: function(t, e, i) { - t = H(this, t), e = H(this, e); - var n = [], - r = t.line; - return this.iter(t.line, e.line + 1, function(s) { - var o = s.markedSpans; - if (o) - for (var a = 0; a < o.length; a++) { - var l = o[a]; - null != l.to && r == t.line && t.ch >= l.to || null == l.from && r != t.line || null != l.from && r == e.line && l.from >= e.ch || i && !i(l.marker) || n.push(l.marker.parent || l.marker) - }++r - }), n - }, - getAllMarks: function() { - var t = []; - return this.iter(function(e) { - var i = e.markedSpans; - if (i) - for (var n = 0; n < i.length; ++n) null != i[n].from && t.push(i[n].marker) - }), t - }, - posFromIndex: function(t) { - var e, i = this.first, - n = this.lineSeparator().length; - return this.iter(function(r) { - var s = r.text.length + n; - if (s > t) return e = t, !0; - t -= s, ++i - }), H(this, O(i, e)) - }, - indexFromPos: function(t) { - t = H(this, t); - var e = t.ch; - if (t.line < this.first || t.ch < 0) return 0; - var i = this.lineSeparator().length; - return this.iter(this.first, t.line, function(t) { - e += t.text.length + i - }), e - }, - copy: function(t) { - var e = new aa(E(this, this.first, this.first + this.size), this.modeOption, this.first, this.lineSep); - return e.scrollTop = this.scrollTop, e.scrollLeft = this.scrollLeft, e.sel = this.sel, e.extend = !1, t && (e.history.undoDepth = this.history.undoDepth, e.setHistory(this.getHistory())), e - }, - linkedDoc: function(t) { - t || (t = {}); - var e = this.first, - i = this.first + this.size; - null != t.from && t.from > e && (e = t.from), null != t.to && t.to < i && (i = t.to); - var n = new aa(E(this, e, i), t.mode || this.modeOption, e, this.lineSep); - return t.sharedHist && (n.history = this.history), (this.linked || (this.linked = [])).push({ - doc: n, - sharedHist: t.sharedHist - }), n.linked = [{ - doc: this, - isParent: !0, - sharedHist: t.sharedHist - }], Ur(n, jr(this)), n - }, - unlinkDoc: function(t) { - var e = this; - if (t instanceof Ns && (t = t.doc), this.linked) - for (var i = 0; i < this.linked.length; ++i) { - var n = e.linked[i]; - if (n.doc == t) { - e.linked.splice(i, 1), t.unlinkDoc(e), qr(jr(e)); - break - } - } - if (t.history == this.history) { - var r = [t.id]; - qn(t, function(t) { - return r.push(t.id) - }, !0), t.history = new Gn(null), t.history.done = or(this.history.done, r), t.history.undone = or(this.history.undone, r) - } - }, - iterLinkedDocs: function(t) { - qn(this, t) - }, - getMode: function() { - return this.mode - }, - getEditor: function() { - return this.cm - }, - splitLines: function(t) { - return this.lineSep ? t.split(this.lineSep) : Vo(t) - }, - lineSeparator: function() { - return this.lineSep || "\n" - } - }), aa.prototype.eachLine = aa.prototype.iter; - for (var la = 0, ca = !1, ua = { - 3: "Enter", - 8: "Backspace", - 9: "Tab", - 13: "Enter", - 16: "Shift", - 17: "Ctrl", - 18: "Alt", - 19: "Pause", - 20: "CapsLock", - 27: "Esc", - 32: "Space", - 33: "PageUp", - 34: "PageDown", - 35: "End", - 36: "Home", - 37: "Left", - 38: "Up", - 39: "Right", - 40: "Down", - 44: "PrintScrn", - 45: "Insert", - 46: "Delete", - 59: ";", - 61: "=", - 91: "Mod", - 92: "Mod", - 93: "Mod", - 106: "*", - 107: "=", - 109: "-", - 110: ".", - 111: "/", - 127: "Delete", - 173: "-", - 186: ";", - 187: "=", - 188: ",", - 189: "-", - 190: ".", - 191: "/", - 192: "`", - 219: "[", - 220: "\\", - 221: "]", - 222: "'", - 63232: "Up", - 63233: "Down", - 63234: "Left", - 63235: "Right", - 63272: "Delete", - 63273: "Home", - 63275: "End", - 63276: "PageUp", - 63277: "PageDown", - 63302: "Insert" - }, ha = 0; ha < 10; ha++) ua[ha + 48] = ua[ha + 96] = String(ha); - for (var da = 65; da <= 90; da++) ua[da] = String.fromCharCode(da); - for (var fa = 1; fa <= 12; fa++) ua[fa + 111] = ua[fa + 63235] = "F" + fa; - var pa = {}; - pa.basic = { - Left: "goCharLeft", - Right: "goCharRight", - Up: "goLineUp", - Down: "goLineDown", - End: "goLineEnd", - Home: "goLineStartSmart", - PageUp: "goPageUp", - PageDown: "goPageDown", - Delete: "delCharAfter", - Backspace: "delCharBefore", - "Shift-Backspace": "delCharBefore", - Tab: "defaultTab", - "Shift-Tab": "indentAuto", - Enter: "newlineAndIndent", - Insert: "toggleOverwrite", - Esc: "singleSelection" - }, pa.pcDefault = { - "Ctrl-A": "selectAll", - "Ctrl-D": "deleteLine", - "Ctrl-Z": "undo", - "Shift-Ctrl-Z": "redo", - "Ctrl-Y": "redo", - "Ctrl-Home": "goDocStart", - "Ctrl-End": "goDocEnd", - "Ctrl-Up": "goLineUp", - "Ctrl-Down": "goLineDown", - "Ctrl-Left": "goGroupLeft", - "Ctrl-Right": "goGroupRight", - "Alt-Left": "goLineStart", - "Alt-Right": "goLineEnd", - "Ctrl-Backspace": "delGroupBefore", - "Ctrl-Delete": "delGroupAfter", - "Ctrl-S": "save", - "Ctrl-F": "find", - "Ctrl-G": "findNext", - "Shift-Ctrl-G": "findPrev", - "Shift-Ctrl-F": "replace", - "Shift-Ctrl-R": "replaceAll", - "Ctrl-[": "indentLess", - "Ctrl-]": "indentMore", - "Ctrl-U": "undoSelection", - "Shift-Ctrl-U": "redoSelection", - "Alt-U": "redoSelection", - fallthrough: "basic" - }, pa.emacsy = { - "Ctrl-F": "goCharRight", - "Ctrl-B": "goCharLeft", - "Ctrl-P": "goLineUp", - "Ctrl-N": "goLineDown", - "Alt-F": "goWordRight", - "Alt-B": "goWordLeft", - "Ctrl-A": "goLineStart", - "Ctrl-E": "goLineEnd", - "Ctrl-V": "goPageDown", - "Shift-Ctrl-V": "goPageUp", - "Ctrl-D": "delCharAfter", - "Ctrl-H": "delCharBefore", - "Alt-D": "delWordAfter", - "Alt-Backspace": "delWordBefore", - "Ctrl-K": "killLine", - "Ctrl-T": "transposeChars", - "Ctrl-O": "openLine" - }, pa.macDefault = { - "Cmd-A": "selectAll", - "Cmd-D": "deleteLine", - "Cmd-Z": "undo", - "Shift-Cmd-Z": "redo", - "Cmd-Y": "redo", - "Cmd-Home": "goDocStart", - "Cmd-Up": "goDocStart", - "Cmd-End": "goDocEnd", - "Cmd-Down": "goDocEnd", - "Alt-Left": "goGroupLeft", - "Alt-Right": "goGroupRight", - "Cmd-Left": "goLineLeft", - "Cmd-Right": "goLineRight", - "Alt-Backspace": "delGroupBefore", - "Ctrl-Alt-Backspace": "delGroupAfter", - "Alt-Delete": "delGroupAfter", - "Cmd-S": "save", - "Cmd-F": "find", - "Cmd-G": "findNext", - "Shift-Cmd-G": "findPrev", - "Cmd-Alt-F": "replace", - "Shift-Cmd-Alt-F": "replaceAll", - "Cmd-[": "indentLess", - "Cmd-]": "indentMore", - "Cmd-Backspace": "delWrappedLineLeft", - "Cmd-Delete": "delWrappedLineRight", - "Cmd-U": "undoSelection", - "Shift-Cmd-U": "redoSelection", - "Ctrl-Up": "goDocStart", - "Ctrl-Down": "goDocEnd", - fallthrough: ["basic", "emacsy"] - }, pa.default = go ? pa.macDefault : pa.pcDefault; - var ga, ma, va = { - selectAll: Cr, - singleSelection: function(t) { - return t.setSelection(t.getCursor("anchor"), t.getCursor("head"), Po) - }, - killLine: function(t) { - return as(t, function(e) { - if (e.empty()) { - var i = T(t.doc, e.head.line).text.length; - return e.head.ch == i && e.head.line < t.lastLine() ? { - from: e.head, - to: O(e.head.line + 1, 0) - } : { - from: e.head, - to: O(e.head.line, i) - } - } - return { - from: e.from(), - to: e.to() - } - }) - }, - deleteLine: function(t) { - return as(t, function(e) { - return { - from: O(e.from().line, 0), - to: H(t.doc, O(e.to().line + 1, 0)) - } - }) - }, - delLineLeft: function(t) { - return as(t, function(t) { - return { - from: O(t.from().line, 0), - to: t.from() - } - }) - }, - delWrappedLineLeft: function(t) { - return as(t, function(e) { - var i = t.charCoords(e.head, "div").top + 5; - return { - from: t.coordsChar({ - left: 0, - top: i - }, "div"), - to: e.from() - } - }) - }, - delWrappedLineRight: function(t) { - return as(t, function(e) { - var i = t.charCoords(e.head, "div").top + 5, - n = t.coordsChar({ - left: t.display.lineDiv.offsetWidth + 100, - top: i - }, "div"); - return { - from: e.from(), - to: n - } - }) - }, - undo: function(t) { - return t.undo() - }, - redo: function(t) { - return t.redo() - }, - undoSelection: function(t) { - return t.undoSelection() - }, - redoSelection: function(t) { - return t.redoSelection() - }, - goDocStart: function(t) { - return t.extendSelection(O(t.firstLine(), 0)) - }, - goDocEnd: function(t) { - return t.extendSelection(O(t.lastLine())) - }, - goLineStart: function(t) { - return t.extendSelectionsBy(function(e) { - return ls(t, e.head.line) - }, { - origin: "+move", - bias: 1 - }) - }, - goLineStartSmart: function(t) { - return t.extendSelectionsBy(function(e) { - return us(t, e.head) - }, { - origin: "+move", - bias: 1 - }) - }, - goLineEnd: function(t) { - return t.extendSelectionsBy(function(e) { - return cs(t, e.head.line) - }, { - origin: "+move", - bias: -1 - }) - }, - goLineRight: function(t) { - return t.extendSelectionsBy(function(e) { - var i = t.charCoords(e.head, "div").top + 5; - return t.coordsChar({ - left: t.display.lineDiv.offsetWidth + 100, - top: i - }, "div") - }, Lo) - }, - goLineLeft: function(t) { - return t.extendSelectionsBy(function(e) { - var i = t.charCoords(e.head, "div").top + 5; - return t.coordsChar({ - left: 0, - top: i - }, "div") - }, Lo) - }, - goLineLeftSmart: function(t) { - return t.extendSelectionsBy(function(e) { - var i = t.charCoords(e.head, "div").top + 5, - n = t.coordsChar({ - left: 0, - top: i - }, "div"); - return n.ch < t.getLine(n.line).search(/\S/) ? us(t, e.head) : n - }, Lo) - }, - goLineUp: function(t) { - return t.moveV(-1, "line") - }, - goLineDown: function(t) { - return t.moveV(1, "line") - }, - goPageUp: function(t) { - return t.moveV(-1, "page") - }, - goPageDown: function(t) { - return t.moveV(1, "page") - }, - goCharLeft: function(t) { - return t.moveH(-1, "char") - }, - goCharRight: function(t) { - return t.moveH(1, "char") - }, - goColumnLeft: function(t) { - return t.moveH(-1, "column") - }, - goColumnRight: function(t) { - return t.moveH(1, "column") - }, - goWordLeft: function(t) { - return t.moveH(-1, "word") - }, - goGroupRight: function(t) { - return t.moveH(1, "group") - }, - goGroupLeft: function(t) { - return t.moveH(-1, "group") - }, - goWordRight: function(t) { - return t.moveH(1, "word") - }, - delCharBefore: function(t) { - return t.deleteH(-1, "char") - }, - delCharAfter: function(t) { - return t.deleteH(1, "char") - }, - delWordBefore: function(t) { - return t.deleteH(-1, "word") - }, - delWordAfter: function(t) { - return t.deleteH(1, "word") - }, - delGroupBefore: function(t) { - return t.deleteH(-1, "group") - }, - delGroupAfter: function(t) { - return t.deleteH(1, "group") - }, - indentAuto: function(t) { - return t.indentSelection("smart") - }, - indentMore: function(t) { - return t.indentSelection("add") - }, - indentLess: function(t) { - return t.indentSelection("subtract") - }, - insertTab: function(t) { - return t.replaceSelection("\t") - }, - insertSoftTab: function(t) { - for (var e = [], i = t.listSelections(), n = t.options.tabSize, r = 0; r < i.length; r++) { - var s = i[r].from(), - o = u(t.getLine(s.line), s.ch, n); - e.push(p(n - o % n)) - } - t.replaceSelections(e) - }, - defaultTab: function(t) { - t.somethingSelected() ? t.indentSelection("add") : t.execCommand("insertTab") - }, - transposeChars: function(t) { - return hn(t, function() { - for (var e = t.listSelections(), i = [], n = 0; n < e.length; n++) - if (e[n].empty()) { - var r = e[n].head, - s = T(t.doc, r.line).text; - if (s) - if (r.ch == s.length && (r = new O(r.line, r.ch - 1)), r.ch > 0) r = new O(r.line, r.ch + 1), t.replaceRange(s.charAt(r.ch - 1) + s.charAt(r.ch - 2), O(r.line, r.ch - 2), r, "+transpose"); - else if (r.line > t.doc.first) { - var o = T(t.doc, r.line - 1).text; - o && (r = new O(r.line, 1), t.replaceRange(s.charAt(0) + t.doc.lineSeparator() + o.charAt(o.length - 1), O(r.line - 1, o.length - 1), r, "+transpose")) - } - i.push(new In(r, r)) - } - t.setSelections(i) - }) - }, - newlineAndIndent: function(t) { - return hn(t, function() { - for (var e = t.listSelections(), i = e.length - 1; i >= 0; i--) t.replaceRange(t.doc.lineSeparator(), e[i].anchor, e[i].head, "+input"); - e = t.listSelections(); - for (var n = 0; n < e.length; n++) t.indentLine(e[n].from().line, null, !0); - tn(t) - }) - }, - openLine: function(t) { - return t.replaceSelection("\n", "start") - }, - toggleOverwrite: function(t) { - return t.toggleOverwrite() - } - }, - ya = new h, - ba = null, - xa = { - toString: function() { - return "CodeMirror.Init" - } - }, - wa = {}, - Ca = {}; - Ns.defaults = wa, Ns.optionHandlers = Ca; - var ka = []; - Ns.defineInitHook = function(t) { - return ka.push(t) - }; - var Sa = null; - js.prototype = c({ - init: function(t) { - function e(t) { - if (!At(r, t)) { - if (r.somethingSelected()) Ds({ - lineWise: !1, - text: r.getSelections() - }), "cut" == t.type && r.replaceSelection("", null, "cut"); - else { - if (!r.options.lineWiseCopyCut) return; - var e = Hs(r); - Ds({ - lineWise: !0, - text: e.text - }), "cut" == t.type && r.operation(function() { - r.setSelections(e.ranges, 0, Po), r.replaceSelection("", null, "cut") - }) - } - if (t.clipboardData) { - t.clipboardData.clearData(); - var i = Sa.text.join("\n"); - if (t.clipboardData.setData("Text", i), t.clipboardData.getData("Text") == i) return void t.preventDefault() - } - var o = Vs(), - a = o.firstChild; - r.display.lineSpace.insertBefore(o, r.display.lineSpace.firstChild), a.value = Sa.text.join("\n"); - var l = document.activeElement; - ko(a), setTimeout(function() { - r.display.lineSpace.removeChild(o), l.focus(), l == s && n.showPrimarySelection() - }, 50) - } - } - var i = this, - n = this, - r = n.cm, - s = n.div = t.lineDiv; - Rs(s, r.options.spellcheck), Ho(s, "paste", function(t) { - At(r, t) || zs(t, r) || ro <= 11 && setTimeout(dn(r, function() { - n.pollContent() || gn(r) - }), 20) - }), Ho(s, "compositionstart", function(t) { - i.composing = { - data: t.data - } - }), Ho(s, "compositionupdate", function(t) { - i.composing || (i.composing = { - data: t.data - }) - }), Ho(s, "compositionend", function(t) { - i.composing && (t.data != i.composing.data && i.readFromDOMSoon(), i.composing = null) - }), Ho(s, "touchstart", function() { - return n.forceCompositionEnd() - }), Ho(s, "input", function() { - i.composing || i.readFromDOMSoon() - }), Ho(s, "copy", e), Ho(s, "cut", e) - }, - prepareSelection: function() { - var t = Ti(this.cm, !1); - return t.focus = this.cm.state.focused, t - }, - showSelection: function(t, e) { - t && this.cm.display.view.length && ((t.focus || e) && this.showPrimarySelection(), this.showMultipleSelections(t)) - }, - showPrimarySelection: function() { - var t = window.getSelection(), - e = this.cm.doc.sel.primary(), - i = Gs(this.cm, t.anchorNode, t.anchorOffset), - n = Gs(this.cm, t.focusNode, t.focusOffset); - if (!i || i.bad || !n || n.bad || 0 != I(z(i, n), e.from()) || 0 != I(_(i, n), e.to())) { - var r = Us(this.cm, e.from()), - s = Us(this.cm, e.to()); - if (r || s) { - var o = this.cm.display.view, - a = t.rangeCount && t.getRangeAt(0); - if (r) { - if (!s) { - var l = o[o.length - 1].measure, - c = l.maps ? l.maps[l.maps.length - 1] : l.map; - s = { - node: c[c.length - 1], - offset: c[c.length - 2] - c[c.length - 3] - } - } - } else r = { - node: o[0].measure.map[2], - offset: 0 - }; - var u; - try { - u = bo(r.node, r.offset, s.offset, s.node) - } catch (t) {} - u && (!to && this.cm.state.focused ? (t.collapse(r.node, r.offset), u.collapsed || (t.removeAllRanges(), t.addRange(u))) : (t.removeAllRanges(), t.addRange(u)), a && null == t.anchorNode ? t.addRange(a) : to && this.startGracePeriod()), this.rememberSelection() - } - } - }, - startGracePeriod: function() { - var t = this; - clearTimeout(this.gracePeriod), this.gracePeriod = setTimeout(function() { - t.gracePeriod = !1, t.selectionChanged() && t.cm.operation(function() { - return t.cm.curOp.selectionChanged = !0 - }) - }, 20) - }, - showMultipleSelections: function(t) { - i(this.cm.display.cursorDiv, t.cursors), i(this.cm.display.selectionDiv, t.selection) - }, - rememberSelection: function() { - var t = window.getSelection(); - this.lastAnchorNode = t.anchorNode, this.lastAnchorOffset = t.anchorOffset, this.lastFocusNode = t.focusNode, this.lastFocusOffset = t.focusOffset - }, - selectionInEditor: function() { - var t = window.getSelection(); - if (!t.rangeCount) return !1; - var e = t.getRangeAt(0).commonAncestorContainer; - return r(this.div, e) - }, - focus: function() { - "nocursor" != this.cm.options.readOnly && (this.selectionInEditor() || this.showSelection(this.prepareSelection(), !0), this.div.focus()) - }, - blur: function() { - this.div.blur() - }, - getField: function() { - return this.div - }, - supportsTouch: function() { - return !0 - }, - receivedFocus: function() { - function t() { - e.cm.state.focused && (e.pollSelection(), e.polling.set(e.cm.options.pollInterval, t)) - } - var e = this; - this.selectionInEditor() ? this.pollSelection() : hn(this.cm, function() { - return e.cm.curOp.selectionChanged = !0 - }), this.polling.set(this.cm.options.pollInterval, t) - }, - selectionChanged: function() { - var t = window.getSelection(); - return t.anchorNode != this.lastAnchorNode || t.anchorOffset != this.lastAnchorOffset || t.focusNode != this.lastFocusNode || t.focusOffset != this.lastFocusOffset - }, - pollSelection: function() { - if (!this.composing && null == this.readDOMTimeout && !this.gracePeriod && this.selectionChanged()) { - var t = window.getSelection(), - e = this.cm; - this.rememberSelection(); - var i = Gs(e, t.anchorNode, t.anchorOffset), - n = Gs(e, t.focusNode, t.focusOffset); - i && n && hn(e, function() { - pr(e.doc, _n(i, n), Po), (i.bad || n.bad) && (e.curOp.selectionChanged = !0) - }) - } - }, - pollContent: function() { - null != this.readDOMTimeout && (clearTimeout(this.readDOMTimeout), this.readDOMTimeout = null); - var t = this.cm, - e = t.display, - i = t.doc.sel.primary(), - n = i.from(), - r = i.to(); - if (0 == n.ch && n.line > t.firstLine() && (n = O(n.line - 1, T(t.doc, n.line - 1).length)), r.ch == T(t.doc, r.line).text.length && r.line < t.lastLine() && (r = O(r.line + 1, 0)), n.line < e.viewFrom || r.line > e.viewTo - 1) return !1; - var s, o, a; - n.line == e.viewFrom || 0 == (s = ki(t, n.line)) ? (o = $(e.view[0].line), a = e.view[0].node) : (o = $(e.view[s].line), a = e.view[s - 1].node.nextSibling); - var l, c, u = ki(t, r.line); - if (u == e.view.length - 1 ? (l = e.viewTo - 1, c = e.lineDiv.lastChild) : (l = $(e.view[u + 1].line) - 1, c = e.view[u + 1].node.previousSibling), !a) return !1; - for (var h = t.doc.splitLines(Ks(t, a, c, o, l)), d = M(t.doc, O(o, 0), O(l, T(t.doc, l).text.length)); h.length > 1 && d.length > 1;) - if (g(h) == g(d)) h.pop(), d.pop(), l--; - else { - if (h[0] != d[0]) break; - h.shift(), d.shift(), o++ - } - for (var f = 0, p = 0, m = h[0], v = d[0], y = Math.min(m.length, v.length); f < y && m.charCodeAt(f) == v.charCodeAt(f);) ++f; - for (var b = g(h), x = g(d), w = Math.min(b.length - (1 == h.length ? f : 0), x.length - (1 == d.length ? f : 0)); p < w && b.charCodeAt(b.length - p - 1) == x.charCodeAt(x.length - p - 1);) ++p; - h[h.length - 1] = b.slice(0, b.length - p).replace(/^\u200b+/, ""), h[0] = h[0].slice(f).replace(/\u200b+$/, ""); - var C = O(o, f), - k = O(l, d.length ? g(d).length - p : 0); - return h.length > 1 || h[0] || I(C, k) ? (Lr(t.doc, h, C, k, "+input"), !0) : void 0 - }, - ensurePolled: function() { - this.forceCompositionEnd() - }, - reset: function() { - this.forceCompositionEnd() - }, - forceCompositionEnd: function() { - this.composing && (this.composing = null, this.pollContent() || gn(this.cm), this.div.blur(), this.div.focus()) - }, - readFromDOMSoon: function() { - var t = this; - null == this.readDOMTimeout && (this.readDOMTimeout = setTimeout(function() { - t.readDOMTimeout = null, t.composing || !t.cm.isReadOnly() && t.pollContent() || hn(t.cm, function() { - return gn(t.cm) - }) - }, 80)) - }, - setUneditable: function(t) { - t.contentEditable = "false" - }, - onKeyPress: function(t) { - t.preventDefault(), this.cm.isReadOnly() || dn(this.cm, _s)(this.cm, String.fromCharCode(null == t.charCode ? t.keyCode : t.charCode), 0) - }, - readOnlyChanged: function(t) { - this.div.contentEditable = String("nocursor" != t) - }, - onContextMenu: y, - resetPosition: y, - needsContentAttribute: !0 - }, js.prototype), Xs.prototype = c({ - init: function(t) { - function e(t) { - if (!At(r, t)) { - if (r.somethingSelected()) Ds({ - lineWise: !1, - text: r.getSelections() - }), n.inaccurateSelection && (n.prevInput = "", n.inaccurateSelection = !1, o.value = Sa.text.join("\n"), ko(o)); - else { - if (!r.options.lineWiseCopyCut) return; - var e = Hs(r); - Ds({ - lineWise: !0, - text: e.text - }), "cut" == t.type ? r.setSelections(e.ranges, null, Po) : (n.prevInput = "", o.value = e.text.join("\n"), ko(o)) - } - "cut" == t.type && (r.state.cutIncoming = !0) - } - } - var i = this, - n = this, - r = this.cm, - s = this.wrapper = Vs(), - o = this.textarea = s.firstChild; - t.wrapper.insertBefore(s, t.wrapper.firstChild), fo && (o.style.width = "0px"), Ho(o, "input", function() { - no && ro >= 9 && i.hasSelection && (i.hasSelection = null), n.poll() - }), Ho(o, "paste", function(t) { - At(r, t) || zs(t, r) || (r.state.pasteIncoming = !0, n.fastPoll()) - }), Ho(o, "cut", e), Ho(o, "copy", e), Ho(t.scroller, "paste", function(e) { - He(t, e) || At(r, e) || (r.state.pasteIncoming = !0, n.focus()) - }), Ho(t.lineSpace, "selectstart", function(e) { - He(t, e) || Dt(e) - }), Ho(o, "compositionstart", function() { - var t = r.getCursor("from"); - n.composing && n.composing.range.clear(), n.composing = { - start: t, - range: r.markText(t, r.getCursor("to"), { - className: "CodeMirror-composing" - }) - } - }), Ho(o, "compositionend", function() { - n.composing && (n.poll(), n.composing.range.clear(), n.composing = null) - }) - }, - prepareSelection: function() { - var t = this.cm, - e = t.display, - i = t.doc, - n = Ti(t); - if (t.options.moveInputWithCursor) { - var r = hi(t, i.sel.primary().head, "div"), - s = e.wrapper.getBoundingClientRect(), - o = e.lineDiv.getBoundingClientRect(); - n.teTop = Math.max(0, Math.min(e.wrapper.clientHeight - 10, r.top + o.top - s.top)), n.teLeft = Math.max(0, Math.min(e.wrapper.clientWidth - 10, r.left + o.left - s.left)) - } - return n - }, - showSelection: function(t) { - var e = this.cm, - n = e.display; - i(n.cursorDiv, t.cursors), i(n.selectionDiv, t.selection), null != t.teTop && (this.wrapper.style.top = t.teTop + "px", this.wrapper.style.left = t.teLeft + "px") - }, - reset: function(t) { - if (!this.contextMenuPending) { - var e, i, n = this.cm, - r = n.doc; - if (n.somethingSelected()) { - this.prevInput = ""; - var s = r.sel.primary(); - e = Bo && (s.to().line - s.from().line > 100 || (i = n.getSelection()).length > 1e3); - var o = e ? "-" : i || n.getSelection(); - this.textarea.value = o, n.state.focused && ko(this.textarea), no && ro >= 9 && (this.hasSelection = o) - } else t || (this.prevInput = this.textarea.value = "", no && ro >= 9 && (this.hasSelection = null)); - this.inaccurateSelection = e - } - }, - getField: function() { - return this.textarea - }, - supportsTouch: function() { - return !1 - }, - focus: function() { - if ("nocursor" != this.cm.options.readOnly && (!po || s() != this.textarea)) try { - this.textarea.focus() - } catch (t) {} - }, - blur: function() { - this.textarea.blur() - }, - resetPosition: function() { - this.wrapper.style.top = this.wrapper.style.left = 0 - }, - receivedFocus: function() { - this.slowPoll() - }, - slowPoll: function() { - var t = this; - this.pollingFast || this.polling.set(this.cm.options.pollInterval, function() { - t.poll(), t.cm.state.focused && t.slowPoll() - }) - }, - fastPoll: function() { - function t() { - i.poll() || e ? (i.pollingFast = !1, i.slowPoll()) : (e = !0, i.polling.set(60, t)) - } - var e = !1, - i = this; - i.pollingFast = !0, i.polling.set(20, t) - }, - poll: function() { - var t = this, - e = this.cm, - i = this.textarea, - n = this.prevInput; - if (this.contextMenuPending || !e.state.focused || Wo(i) && !n && !this.composing || e.isReadOnly() || e.options.disableInput || e.state.keySeq) return !1; - var r = i.value; - if (r == n && !e.somethingSelected()) return !1; - if (no && ro >= 9 && this.hasSelection === r || go && /[\uf700-\uf7ff]/.test(r)) return e.display.input.reset(), !1; - if (e.doc.sel == e.display.selForContextMenu) { - var s = r.charCodeAt(0); - if (8203 != s || n || (n = "​"), 8666 == s) return this.reset(), this.cm.execCommand("undo") - } - for (var o = 0, a = Math.min(n.length, r.length); o < a && n.charCodeAt(o) == r.charCodeAt(o);) ++o; - return hn(e, function() { - _s(e, r.slice(o), n.length - o, null, t.composing ? "*compose" : null), r.length > 1e3 || r.indexOf("\n") > -1 ? i.value = t.prevInput = "" : t.prevInput = r, t.composing && (t.composing.range.clear(), t.composing.range = e.markText(t.composing.start, e.getCursor("to"), { - className: "CodeMirror-composing" - })) - }), !0 - }, - ensurePolled: function() { - this.pollingFast && this.poll() && (this.pollingFast = !1) - }, - onKeyPress: function() { - no && ro >= 9 && (this.hasSelection = null), this.fastPoll() - }, - onContextMenu: function(t) { - function e() { - if (null != o.selectionStart) { - var t = r.somethingSelected(), - e = "​" + (t ? o.value : ""); - o.value = "⇚", o.value = e, n.prevInput = t ? "" : "​", o.selectionStart = 1, o.selectionEnd = e.length, s.selForContextMenu = r.doc.sel - } - } - - function i() { - if (n.contextMenuPending = !1, n.wrapper.style.cssText = u, o.style.cssText = c, no && ro < 9 && s.scrollbars.setScrollTop(s.scroller.scrollTop = l), null != o.selectionStart) { - (!no || no && ro < 9) && e(); - var t = 0, - i = function() { - s.selForContextMenu == r.doc.sel && 0 == o.selectionStart && o.selectionEnd > 0 && "​" == n.prevInput ? dn(r, Cr)(r) : t++ < 10 ? s.detectingSelectAll = setTimeout(i, 500) : s.input.reset() - }; - s.detectingSelectAll = setTimeout(i, 200) - } - } - var n = this, - r = n.cm, - s = r.display, - o = n.textarea, - a = Ci(r, t), - l = s.scroller.scrollTop; - if (a && !lo) { - r.options.resetSelectionOnContextMenu && -1 == r.doc.sel.contains(a) && dn(r, pr)(r.doc, _n(a), Po); - var c = o.style.cssText, - u = n.wrapper.style.cssText; - n.wrapper.style.cssText = "position: absolute"; - var h = n.wrapper.getBoundingClientRect(); - o.style.cssText = "position: absolute; width: 30px; height: 30px;\n top: " + (t.clientY - h.top - 5) + "px; left: " + (t.clientX - h.left - 5) + "px;\n z-index: 1000; background: " + (no ? "rgba(255, 255, 255, .05)" : "transparent") + ";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);"; - var d; - if (so && (d = window.scrollY), s.input.focus(), so && window.scrollTo(null, d), s.input.reset(), r.somethingSelected() || (o.value = n.prevInput = " "), n.contextMenuPending = !0, s.selForContextMenu = r.doc.sel, clearTimeout(s.detectingSelectAll), no && ro >= 9 && e(), wo) { - Ft(t); - var f = function() { - $t(window, "mouseup", f), setTimeout(i, 20) - }; - Ho(window, "mouseup", f) - } else setTimeout(i, 50) - } - }, - readOnlyChanged: function(t) { - t || this.reset() - }, - setUneditable: y, - needsContentAttribute: !1 - }, Xs.prototype), - function(t) { - function e(e, n, r, s) { - t.defaults[e] = n, r && (i[e] = s ? function(t, e, i) { - i != xa && r(t, e, i) - } : r) - } - var i = t.optionHandlers; - t.defineOption = e, t.Init = xa, e("value", "", function(t, e) { - return t.setValue(e) - }, !0), e("mode", null, function(t, e) { - t.doc.modeOption = e, Wn(t) - }, !0), e("indentUnit", 2, Wn, !0), e("indentWithTabs", !1), e("smartIndent", !0), e("tabSize", 4, function(t) { - Bn(t), si(t), gn(t) - }, !0), e("lineSeparator", null, function(t, e) { - if (t.doc.lineSep = e, e) { - var i = [], - n = t.doc.first; - t.doc.iter(function(t) { - for (var r = 0;;) { - var s = t.text.indexOf(e, r); - if (-1 == s) break; - r = s + e.length, i.push(O(n, s)) - } - n++ - }); - for (var r = i.length - 1; r >= 0; r--) Lr(t.doc, e, i[r], O(i[r].line, i[r].ch + e.length)) - } - }), e("specialChars", /[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function(t, e, i) { - t.state.specialChars = new RegExp(e.source + (e.test("\t") ? "" : "|\t"), "g"), i != xa && t.refresh() - }), e("specialCharPlaceholder", fe, function(t) { - return t.refresh() - }, !0), e("electricChars", !0), e("inputStyle", po ? "contenteditable" : "textarea", function() { - throw new Error("inputStyle can not (yet) be changed in a running editor") - }, !0), e("spellcheck", !1, function(t, e) { - return t.getInputField().spellcheck = e - }, !0), e("rtlMoveVisually", !vo), e("wholeLineUpdateBefore", !0), e("theme", "default", function(t) { - Ps(t), $s(t) - }, !0), e("keyMap", "default", function(t, e, i) { - var n = os(e), - r = i != xa && os(i); - r && r.detach && r.detach(t, n), n.attach && n.attach(t, r || null) - }), e("extraKeys", null), e("lineWrapping", !1, As, !0), e("gutters", [], function(t) { - Nn(t.options), $s(t) - }, !0), e("fixedGutter", !0, function(t, e) { - t.display.gutters.style.left = e ? bi(t.display) + "px" : "0", t.refresh() - }, !0), e("coverGutterNextToScrollbar", !1, function(t) { - return qi(t) - }, !0), e("scrollbarStyle", "native", function(t) { - Gi(t), qi(t), t.display.scrollbars.setScrollTop(t.doc.scrollTop), t.display.scrollbars.setScrollLeft(t.doc.scrollLeft) - }, !0), e("lineNumbers", !1, function(t) { - Nn(t.options), $s(t) - }, !0), e("firstLineNumber", 1, $s, !0), e("lineNumberFormatter", function(t) { - return t - }, $s, !0), e("showCursorWhenSelecting", !1, Si, !0), e("resetSelectionOnContextMenu", !0), e("lineWiseCopyCut", !0), e("readOnly", !1, function(t, e) { - "nocursor" == e ? (Ni(t), t.display.input.blur(), t.display.disabled = !0) : t.display.disabled = !1, t.display.input.readOnlyChanged(e) - }), e("disableInput", !1, function(t, e) { - e || t.display.input.reset() - }, !0), e("dragDrop", !0, Ls), e("allowDropFileTypes", null), e("cursorBlinkRate", 530), e("cursorScrollMargin", 0), e("cursorHeight", 1, Si, !0), e("singleCursorHeightPerLine", !0, Si, !0), e("workTime", 100), e("workDelay", 100), e("flattenSpans", !0, Bn, !0), e("addModeClass", !1, Bn, !0), e("pollInterval", 100), e("undoDepth", 200, function(t, e) { - return t.doc.history.undoDepth = e - }), e("historyEventDelay", 1250), e("viewportMargin", 10, function(t) { - return t.refresh() - }, !0), e("maxHighlightLength", 1e4, Bn, !0), e("moveInputWithCursor", !0, function(t, e) { - e || t.display.input.resetPosition() - }), e("tabindex", null, function(t, e) { - return t.display.input.getField().tabIndex = e || "" - }), e("autofocus", null) - }(Ns), - function(t) { - var e = t.optionHandlers, - i = t.helpers = {}; - t.prototype = { - constructor: t, - focus: function() { - window.focus(), this.display.input.focus() - }, - setOption: function(t, i) { - var n = this.options, - r = n[t]; - n[t] == i && "mode" != t || (n[t] = i, e.hasOwnProperty(t) && dn(this, e[t])(this, i, r)) - }, - getOption: function(t) { - return this.options[t] - }, - getDoc: function() { - return this.doc - }, - addKeyMap: function(t, e) { - this.state.keyMaps[e ? "push" : "unshift"](os(t)) - }, - removeKeyMap: function(t) { - for (var e = this.state.keyMaps, i = 0; i < e.length; ++i) - if (e[i] == t || e[i].name == t) return e.splice(i, 1), !0 - }, - addOverlay: fn(function(e, i) { - var n = e.token ? e : t.getMode(this.options, e); - if (n.startState) throw new Error("Overlays may not be stateful."); - v(this.state.overlays, { - mode: n, - modeSpec: e, - opaque: i && i.opaque, - priority: i && i.priority || 0 - }, function(t) { - return t.priority - }), this.state.modeGen++, gn(this) - }), - removeOverlay: fn(function(t) { - for (var e = this, i = this.state.overlays, n = 0; n < i.length; ++n) { - var r = i[n].modeSpec; - if (r == t || "string" == typeof t && r.name == t) return i.splice(n, 1), e.state.modeGen++, void gn(e) - } - }), - indentLine: fn(function(t, e, i) { - "string" != typeof e && "number" != typeof e && (e = null == e ? this.options.smartIndent ? "smart" : "prev" : e ? "add" : "subtract"), A(this.doc, t) && Is(this, t, e, i) - }), - indentSelection: fn(function(t) { - for (var e = this, i = this.doc.sel.ranges, n = -1, r = 0; r < i.length; r++) { - var s = i[r]; - if (s.empty()) s.head.line > n && (Is(e, s.head.line, t, !0), n = s.head.line, r == e.doc.sel.primIndex && tn(e)); - else { - var o = s.from(), - a = s.to(), - l = Math.max(n, o.line); - n = Math.min(e.lastLine(), a.line - (a.ch ? 0 : 1)) + 1; - for (var c = l; c < n; ++c) Is(e, c, t); - var u = e.doc.sel.ranges; - 0 == o.ch && i.length == u.length && u[r].from().ch > 0 && ur(e.doc, r, new In(o, u[r].to()), Po) - } - } - }), - getTokenAt: function(t, e) { - return re(this, t, e) - }, - getLineTokens: function(t, e) { - return re(this, O(t), e, !0) - }, - getTokenTypeAt: function(t) { - t = H(this.doc, t); - var e, i = Qt(this, T(this.doc, t.line)), - n = 0, - r = (i.length - 1) / 2, - s = t.ch; - if (0 == s) e = i[2]; - else - for (;;) { - var o = n + r >> 1; - if ((o ? i[2 * o - 1] : 0) >= s) r = o; - else { - if (!(i[2 * o + 1] < s)) { - e = i[2 * o + 2]; - break - } - n = o + 1 - } - } - var a = e ? e.indexOf("overlay ") : -1; - return a < 0 ? e : 0 == a ? null : e.slice(0, a - 1) - }, - getModeAt: function(e) { - var i = this.doc.mode; - return i.innerMode ? t.innerMode(i, this.getTokenAt(e).state).mode : i - }, - getHelper: function(t, e) { - return this.getHelpers(t, e)[0] - }, - getHelpers: function(t, e) { - var n = this, - r = []; - if (!i.hasOwnProperty(e)) return r; - var s = i[e], - o = this.getModeAt(t); - if ("string" == typeof o[e]) s[o[e]] && r.push(s[o[e]]); - else if (o[e]) - for (var a = 0; a < o[e].length; a++) { - var l = s[o[e][a]]; - l && r.push(l) - } else o.helperType && s[o.helperType] ? r.push(s[o.helperType]) : s[o.name] && r.push(s[o.name]); - for (var c = 0; c < s._global.length; c++) { - var u = s._global[c]; - u.pred(o, n) && -1 == d(r, u.val) && r.push(u.val) - } - return r - }, - getStateAfter: function(t, e) { - var i = this.doc; - return t = F(i, null == t ? i.first + i.size - 1 : t), te(this, t + 1, e) - }, - cursorCoords: function(t, e) { - var i, n = this.doc.sel.primary(); - return i = null == t ? n.head : "object" == typeof t ? H(this.doc, t) : t ? n.from() : n.to(), hi(this, i, e || "page") - }, - charCoords: function(t, e) { - return ui(this, H(this.doc, t), e || "page") - }, - coordsChar: function(t, e) { - return t = ci(this, t, e || "page"), pi(this, t.left, t.top) - }, - lineAtHeight: function(t, e) { - return t = ci(this, { - top: t, - left: 0 - }, e || "page").top, L(this.doc, t + this.display.viewOffset) - }, - heightAtLine: function(t, e, i) { - var n, r = !1; - if ("number" == typeof t) { - var s = this.doc.first + this.doc.size - 1; - t < this.doc.first ? t = this.doc.first : t > s && (t = s, r = !0), n = T(this.doc, t) - } else n = t; - return li(this, n, { - top: 0, - left: 0 - }, e || "page", i).top + (r ? this.doc.height - pt(n) : 0) - }, - defaultTextHeight: function() { - return mi(this.display) - }, - defaultCharWidth: function() { - return vi(this.display) - }, - getViewport: function() { - return { - from: this.display.viewFrom, - to: this.display.viewTo - } - }, - addWidget: function(t, e, i, n, r) { - var s = this.display; - t = hi(this, H(this.doc, t)); - var o = t.bottom, - a = t.left; - if (e.style.position = "absolute", e.setAttribute("cm-ignore-events", "true"), this.display.input.setUneditable(e), s.sizer.appendChild(e), "over" == n) o = t.top; - else if ("above" == n || "near" == n) { - var l = Math.max(s.wrapper.clientHeight, this.doc.height), - c = Math.max(s.sizer.clientWidth, s.lineSpace.clientWidth); - ("above" == n || t.bottom + e.offsetHeight > l) && t.top > e.offsetHeight ? o = t.top - e.offsetHeight : t.bottom + e.offsetHeight <= l && (o = t.bottom), a + e.offsetWidth > c && (a = c - e.offsetWidth) - } - e.style.top = o + "px", e.style.left = e.style.right = "", "right" == r ? (a = s.sizer.clientWidth - e.offsetWidth, e.style.right = "0px") : ("left" == r ? a = 0 : "middle" == r && (a = (s.sizer.clientWidth - e.offsetWidth) / 2), e.style.left = a + "px"), i && Ji(this, a, o, a + e.offsetWidth, o + e.offsetHeight) - }, - triggerOnKeyDown: fn(ms), - triggerOnKeyPress: fn(bs), - triggerOnKeyUp: ys, - execCommand: function(t) { - if (va.hasOwnProperty(t)) return va[t].call(null, this) - }, - triggerElectric: fn(function(t) { - Fs(this, t) - }), - findPosH: function(t, e, i, n) { - var r = this, - s = 1; - e < 0 && (s = -1, e = -e); - for (var o = H(this.doc, t), a = 0; a < e && (o = Ws(r.doc, o, s, i, n), !o.hitSide); ++a); - return o - }, - moveH: fn(function(t, e) { - var i = this; - this.extendSelectionsBy(function(n) { - return i.display.shift || i.doc.extend || n.empty() ? Ws(i.doc, n.head, t, e, i.options.rtlMoveVisually) : t < 0 ? n.from() : n.to() - }, Lo) - }), - deleteH: fn(function(t, e) { - var i = this.doc.sel, - n = this.doc; - i.somethingSelected() ? n.replaceSelection("", null, "+delete") : as(this, function(i) { - var r = Ws(n, i.head, t, e, !1); - return t < 0 ? { - from: r, - to: i.head - } : { - from: i.head, - to: r - } - }) - }), - findPosV: function(t, e, i, n) { - var r = this, - s = 1, - o = n; - e < 0 && (s = -1, e = -e); - for (var a = H(this.doc, t), l = 0; l < e; ++l) { - var c = hi(r, a, "div"); - if (null == o ? o = c.left : c.left = o, a = Bs(r, c, s, i), a.hitSide) break - } - return a - }, - moveV: fn(function(t, e) { - var i = this, - n = this.doc, - r = [], - s = !this.display.shift && !n.extend && n.sel.somethingSelected(); - if (n.extendSelectionsBy(function(o) { - if (s) return t < 0 ? o.from() : o.to(); - var a = hi(i, o.head, "div"); - null != o.goalColumn && (a.left = o.goalColumn), r.push(a.left); - var l = Bs(i, a, t, e); - return "page" == e && o == n.sel.primary() && Qi(i, null, ui(i, l, "div").top - a.top), l - }, Lo), r.length) - for (var o = 0; o < n.sel.ranges.length; o++) n.sel.ranges[o].goalColumn = r[o] - }), - findWordAt: function(t) { - var e = this.doc, - i = T(e, t.line).text, - n = t.ch, - r = t.ch; - if (i) { - var s = this.getHelper(t, "wordChars"); - (t.xRel < 0 || r == i.length) && n ? --n : ++r; - for (var o = i.charAt(n), a = w(o, s) ? function(t) { - return w(t, s) - } : /\s/.test(o) ? function(t) { - return /\s/.test(t) - } : function(t) { - return !/\s/.test(t) && !w(t) - }; n > 0 && a(i.charAt(n - 1));) --n; - for (; r < i.length && a(i.charAt(r));) ++r - } - return new In(O(t.line, n), O(t.line, r)) - }, - toggleOverwrite: function(t) { - null != t && t == this.state.overwrite || ((this.state.overwrite = !this.state.overwrite) ? o(this.display.cursorDiv, "CodeMirror-overwrite") : Co(this.display.cursorDiv, "CodeMirror-overwrite"), Lt(this, "overwriteToggle", this, this.state.overwrite)) - }, - hasFocus: function() { - return this.display.input.getField() == s() - }, - isReadOnly: function() { - return !(!this.options.readOnly && !this.doc.cantEdit) - }, - scrollTo: fn(function(t, e) { - null == t && null == e || en(this), null != t && (this.curOp.scrollLeft = t), null != e && (this.curOp.scrollTop = e) - }), - getScrollInfo: function() { - var t = this.display.scroller; - return { - left: t.scrollLeft, - top: t.scrollTop, - height: t.scrollHeight - Be(this) - this.display.barHeight, - width: t.scrollWidth - Be(this) - this.display.barWidth, - clientHeight: Ue(this), - clientWidth: je(this) - } - }, - scrollIntoView: fn(function(t, e) { - if (null == t ? (t = { - from: this.doc.sel.primary().head, - to: null - }, null == e && (e = this.options.cursorScrollMargin)) : "number" == typeof t ? t = { - from: O(t, 0), - to: null - } : null == t.from && (t = { - from: t, - to: null - }), t.to || (t.to = t.from), t.margin = e || 0, null != t.from.line) en(this), this.curOp.scrollToPos = t; - else { - var i = Zi(this, Math.min(t.from.left, t.to.left), Math.min(t.from.top, t.to.top) - t.margin, Math.max(t.from.right, t.to.right), Math.max(t.from.bottom, t.to.bottom) + t.margin); - this.scrollTo(i.scrollLeft, i.scrollTop) - } - }), - setSize: fn(function(t, e) { - var i = this, - n = function(t) { - return "number" == typeof t || /^\d+$/.test(String(t)) ? t + "px" : t - }; - null != t && (this.display.wrapper.style.width = n(t)), null != e && (this.display.wrapper.style.height = n(e)), this.options.lineWrapping && ri(this); - var r = this.display.viewFrom; - this.doc.iter(r, this.display.viewTo, function(t) { - if (t.widgets) - for (var e = 0; e < t.widgets.length; e++) - if (t.widgets[e].noHScroll) { - mn(i, r, "widget"); - break - }++r - }), this.curOp.forceUpdate = !0, Lt(this, "refresh", this) - }), - operation: function(t) { - return hn(this, t) - }, - refresh: fn(function() { - var t = this.display.cachedTextHeight; - gn(this), this.curOp.forceUpdate = !0, si(this), this.scrollTo(this.doc.scrollLeft, this.doc.scrollTop), $n(this), (null == t || Math.abs(t - mi(this.display)) > .5) && wi(this), Lt(this, "refresh", this) - }), - swapDoc: fn(function(t) { - var e = this.doc; - return e.cm = null, Kn(this, t), si(this), this.display.input.reset(), this.scrollTo(t.scrollLeft, t.scrollTop), this.curOp.forceScroll = !0, Se(this, "swapDoc", this, e), e - }), - getInputField: function() { - return this.display.input.getField() - }, - getWrapperElement: function() { - return this.display.wrapper - }, - getScrollerElement: function() { - return this.display.scroller - }, - getGutterElement: function() { - return this.display.gutters - } - }, It(t), t.registerHelper = function(e, n, r) { - i.hasOwnProperty(e) || (i[e] = t[e] = { - _global: [] - }), i[e][n] = r - }, t.registerGlobalHelper = function(e, n, r, s) { - t.registerHelper(e, n, s), i[e]._global.push({ - pred: r, - val: s - }) - } - }(Ns); - var Ta = "iter insert remove copy getEditor constructor".split(" "); - for (var Ma in aa.prototype) aa.prototype.hasOwnProperty(Ma) && d(Ta, Ma) < 0 && (Ns.prototype[Ma] = function(t) { - return function() { - return t.apply(this.doc, arguments) - } - }(aa.prototype[Ma])); - return It(aa), Ns.inputStyles = { - textarea: Xs, - contenteditable: js - }, Ns.defineMode = function(t) { - Ns.defaults.mode || "null" == t || (Ns.defaults.mode = t), jt.apply(this, arguments) - }, Ns.defineMIME = Ut, Ns.defineMode("null", function() { - return { - token: function(t) { - return t.skipToEnd() - } - } - }), Ns.defineMIME("text/plain", "null"), Ns.defineExtension = function(t, e) { - Ns.prototype[t] = e - }, Ns.defineDocExtension = function(t, e) { - aa.prototype[t] = e - }, Ns.fromTextArea = Js, - function(t) { - t.off = $t, t.on = Ho, t.wheelEventPixels = Vi, t.Doc = aa, t.splitLines = Vo, t.countColumn = u, t.findColumn = f, t.isWordChar = x, t.Pass = Eo, t.signal = Lt, t.Line = le, t.changeEnd = zn, t.scrollbarModel = na, t.Pos = O, t.cmpPos = I, t.modes = Uo, t.mimeModes = qo, t.resolveMode = qt, t.getMode = Kt, t.modeExtensions = Ko, t.extendMode = Gt, t.copyState = Yt, t.startState = Jt, t.innerMode = Xt, t.commands = va, t.keyMap = pa, t.keyName = ss, t.isModifierKey = rs, t.lookupKey = ns, t.normalizeKeyMap = is, t.StringStream = Go, t.SharedTextMarker = Wr, t.TextMarker = Rr, t.LineWidget = zr, t.e_preventDefault = Dt, t.e_stopPropagation = _t, t.e_stop = Ft, t.addClass = o, t.contains = r, t.rmClass = Co, t.keyNames = ua - }(Ns), Ns.version = "5.21.0", Ns - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0); - t.exports = n.View.extend({ - events: { - change: "onChange" - }, - initialize: function(t) { - var e = this.model; - this.config = t.config || {}, this.pfx = this.config.stylePrefix || "", this.ppfx = this.config.pStylePrefix || "", this.target = e.target, this.className = this.pfx + "trait", this.labelClass = this.ppfx + "label", this.fieldClass = this.ppfx + "field " + this.ppfx + "field-" + e.get("type"), this.inputhClass = this.ppfx + "input-holder", e.off("change:value", this.onValueChange), this.listenTo(e, "change:value", this.onValueChange), this.tmpl = '
' - }, - onChange: function() { - this.model.set("value", this.getInputEl().value) - }, - getValueForTarget: function() { - return this.model.get("value") - }, - onValueChange: function() { - var t = this.model, - i = this.target, - n = t.get("name"), - r = this.getValueForTarget(); - if (t.get("changeProp")) i.set(n, r); - else { - var s = e.clone(i.get("attributes")); - s[n] = r, i.set("attributes", s) - } - }, - renderLabel: function() { - this.$el.html('
' + this.getLabel() + "
") - }, - getLabel: function() { - var t = this.model, - e = t.get("label") || t.get("name"); - return e.charAt(0).toUpperCase() + e.slice(1).replace(/-/g, " ") - }, - getInputEl: function() { - if (!this.$input) { - var t = this.model, - e = this.target, - i = t.get("name"), - n = { - placeholder: t.get("placeholder") || t.get("default"), - type: t.get("type") || "text" - }; - if (t.get("changeProp")) n.value = e.get(i); - else { - var r = e.get("attributes"); - n.value = t.get("value") || r[i] - } - t.get("min") && (n.min = t.get("min")), t.get("max") && (n.max = t.get("max")), this.$input = $("", n) - } - return this.$input.get(0) - }, - getModelValue: function() { - var t, e = this.model, - i = this.target, - n = e.get("name"); - if (e.get("changeProp")) t = i.get(n); - else { - var r = i.get("attributes"); - t = e.get("value") || r[n] - } - return t - }, - renderField: function() { - if (!this.$input) { - this.$el.append(this.tmpl); - var t = this.getInputEl(); - this.$el.find("." + this.inputhClass).prepend(t) - } - }, - render: function() { - return this.renderLabel(), this.renderField(), this.el.className = this.className, this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = (i(0), i(3)); - t.exports = n.extend({ - tagName: "img", - events: { - dblclick: "openModal", - click: "initResize" - }, - initialize: function(t) { - n.prototype.initialize.apply(this, arguments), this.listenTo(this.model, "change:src", this.updateSrc), this.listenTo(this.model, "dblclick active", this.openModal), this.classEmpty = this.ppfx + "plh-image", this.config.modal && (this.modal = this.config.modal), this.config.am && (this.am = this.config.am) - }, - updateSrc: function() { - var t = this.model.get("src"); - this.$el.attr("src", t), t ? this.$el.removeClass(this.classEmpty) : this.$el.addClass(this.classEmpty) - }, - openModal: function(t) { - var e = this.opts.config.em, - i = e ? e.get("Editor") : ""; - i && i.runCommand("open-assets", { - target: this.model, - onSelect: function() { - i.Modal.close(), i.AssetManager.setTarget(null) - } - }) - }, - render: function() { - this.updateAttributes(), this.updateClasses(); - var t = this.$el.attr("class") || ""; - return this.model.get("src") || this.$el.attr("class", (t + " " + this.classEmpty).trim()), this.$el.attr("onmousedown", "return false"), this - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = (i(0), i(17)); - t.exports = e.extend({}, n, { - init: function(t) { - e.bindAll(this, "startDraw", "draw", "endDraw", "rollback"), this.config = t || {}, this.hType = this.config.newFixedH ? "height" : "min-height", this.allowDraw = 1 - }, - enable: function() { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - n.enable.apply(this, e), this.$wr.css("cursor", "crosshair"), this.allowDraw && this.$wr.on("mousedown", this.startDraw), this.ghost = this.canvas.getGhostEl() - }, - startDraw: function(t) { - t.preventDefault(), this.stopSelectPosition(), this.ghost.style.display = "block", this.frameOff = this.getOffsetDim(), this.startPos = { - top: t.pageY + this.frameOff.top, - left: t.pageX + this.frameOff.left - }, this.isDragged = !1, this.tempComponent = { - style: {} - }, this.beforeDraw(this.tempComponent), this.updateSize(this.startPos.top, this.startPos.left, 0, 0), this.toggleEvents(1) - }, - toggleEvents: function(t) { - var e = t ? "on" : "off"; - this.$wr[e]("mousemove", this.draw), this.$wr[e]("mouseup", this.endDraw), this.$canvas[e]("mousemove", this.draw), $(document)[e]("mouseup", this.endDraw), $(document)[e]("keypress", this.rollback) - }, - draw: function(t) { - this.isDragged = !0, this.updateComponentSize(t) - }, - endDraw: function(t) { - this.toggleEvents(); - var e = {}; - if (this.isDragged) { - this.updateComponentSize(t), this.setRequirements(this.tempComponent); - var i = this.sorter.lastPos; - e = this.create(this.sorter.target, this.tempComponent, i.index, i.method), this.sorter.prevTarget = null - } - this.ghost.style.display = "none", this.startSelectPosition(), this.afterDraw(e) - }, - create: function(t, e, i, n, r) { - i = "after" === n ? i + 1 : i; - var s = r || {}, - o = $(t), - a = o.data("model"), - l = o.data("collection"), - c = a ? a.get("droppable") : 1; - if (s.at = i, l && c) return l.add(e, s); - console.warn("Invalid target position") - }, - setRequirements: function(t) { - var e = this.config, - i = t.style; - i.width.replace(/\D/g, "") < e.minComponentW && (i.width = e.minComponentW + "px"), i[this.hType].replace(/\D/g, "") < e.minComponentH && (i[this.hType] = e.minComponentH + "px"), e.newFixedH && (i.overflow = "auto"), this.absoluteMode ? i.position = "absolute" : (delete i.left, delete i.top); - var n = this.sorter.lastPos; - return this.nearFloat(n.index, n.method, this.sorter.lastDims) && (i.float = "left"), this.config.firstCentered && this.getCanvasWrapper() == this.sorter.target && (i.margin = "0 auto"), t - }, - updateComponentSize: function(t) { - var e = t.pageY + this.frameOff.top, - i = t.pageX + this.frameOff.left, - n = this.startPos, - r = n.top, - s = n.left, - o = e - r, - a = i - s; - i < s && (s = i, a = n.left - i), e < r && (r = e, o = n.top - e), this.updateSize(r, s, a, o) - }, - updateSize: function(t, e, i, n) { - var r = "px", - s = this.ghost.style, - o = this.tempComponent.style; - s.top = o.top = t + r, s.left = o.left = e + r, s.width = o.width = i + r, s[this.hType] = o[this.hType] = n + r - }, - rollback: function(t, e) { - ((t.which || t.keyCode) == this.config.ESCAPE_KEY || e) && (this.isDragged = !1, this.endDraw()) - }, - beforeDraw: function(t) { - t.editable = !1 - }, - afterDraw: function(t) {}, - run: function(t, e, i) { - this.editor = t, this.sender = e, this.$wr = this.$wrapper, this.enable() - }, - stop: function() { - this.stopSelectPosition(), this.$wrapper.css("cursor", ""), this.$wrapper.unbind() - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(126), - r = i(113), - s = i(41); - t.exports = { - init: function(t) { - e.bindAll(this, "onHover", "onOut", "onClick", "onKeyPress") - }, - enable: function() { - e.bindAll(this, "copyComp", "pasteComp", "onFrameScroll"), this.frameOff = this.canvasOff = this.adjScroll = null; - var t = this.config.em.get("Config"); - this.startSelectComponent(), this.toggleClipboard(t.copyPaste); - var i = this.config.em; - i.on("component:update", this.updateAttached, this), i.on("change:canvasOffset", this.updateAttached, this), i.on("change:selectedComponent", this.updateToolbar, this) - }, - toggleClipboard: function(t) { - t || 0 ? (s("⌘+c, ctrl+c", this.copyComp), s("⌘+v, ctrl+v", this.pasteComp)) : (s.unbind("⌘+c, ctrl+c"), s.unbind("⌘+v, ctrl+v")) - }, - copyComp: function() { - var t = this.editorModel.get("selectedComponent"); - t && t.get("copyable") && this.editorModel.set("clipboard", t) - }, - pasteComp: function() { - var t = this.editorModel.get("clipboard"), - e = this.editorModel.get("selectedComponent"); - if (t && e && e.collection) { - var i = e.collection.indexOf(e), - n = t.clone(); - e.collection.add(n, { - at: i + 1 - }) - } - }, - getCanvasBodyEl: function() { - return this.$bodyEl || (this.$bodyEl = $(this.getCanvasBody())), this.$bodyEl - }, - startSelectComponent: function() { - this.toggleSelectComponent(1) - }, - stopSelectComponent: function() { - this.toggleSelectComponent() - }, - toggleSelectComponent: function(t) { - var e = t ? "on" : "off"; - this.getCanvasBodyEl()[e]("mouseover", "*", this.onHover)[e]("mouseout", "*", this.onOut)[e]("click", "*", this.onClick); - var i = this.getContentWindow(); - i[e]("scroll", this.onFrameScroll), i[e]("keydown", this.onKeyPress) - }, - onKeyPress: function(t) { - var e = t.which || t.keyCode, - i = this.editorModel.get("selectedComponent"), - n = "BODY" !== this.frameEl.contentDocument.activeElement.tagName; - if ((8 == e || 46 == e) && (n || t.preventDefault(), i && !n)) { - if (!i.get("removable")) return; - i.set("status", ""), i.destroy(), this.hideBadge(), this.clean(), this.hideHighlighter(), this.editorModel.set("selectedComponent", null) - } - }, - onHover: function(t) { - t.stopPropagation(); - var e = t.target; - this.adjScroll || (this.adjScroll = 1, this.onFrameScroll(t), this.updateAttached()); - var i = this.getElementPos(e); - this.updateBadge(e, i), this.updateHighlighter(e, i), this.showElementOffset(e, i) - }, - onOut: function(t) { - t.stopPropagation(), this.hideBadge(), this.hideHighlighter(), this.hideElementOffset() - }, - showElementOffset: function(t, e) { - var i = $(t), - n = i.data("model"); - n && "selected" == n.get("status") || this.editor.runCommand("show-offset", { - el: t, - elPos: e - }) - }, - hideElementOffset: function(t, e) { - this.editor.stopCommand("show-offset") - }, - showFixedElementOffset: function(t, e) { - this.editor.runCommand("show-offset", { - el: t, - elPos: e, - state: "Fixed" - }) - }, - hideFixedElementOffset: function(t, e) { - this.editor && this.editor.stopCommand("show-offset", { - state: "Fixed" - }) - }, - hideHighlighter: function() { - this.canvas.getHighlighter().style.display = "none" - }, - onClick: function(t) { - var e = $(t.target).data("model"); - if (e) { - var i = e.get("stylable"); - (i instanceof Array || i) && this.onSelect(t, t.target) - } - }, - updateBadge: function(t, e) { - var i = $(t), - n = this.canvas, - r = n.getConfig(), - s = r.customBadgeLabel; - this.cacheEl = t; - var o = i.data("model"); - if (o && o.get("badgable")) { - var a = this.getBadge(), - l = o.getIcon() + o.getName(); - l = s ? s(o) : l, a.innerHTML = l; - var c = a.style; - c.display = "block"; - var u = n.getCanvasView().getPosition(), - h = a ? a.offsetHeight : 0, - d = a ? a.offsetWidth : 0, - f = e.top - h < u.top ? u.top : e.top - h, - p = e.left + d < u.left ? u.left : e.left; - c.top = f + "px", c.left = p + "px" - } - }, - updateHighlighter: function(t, e) { - var i = $(t), - n = i.data("model"); - if (n && (!n || "selected" != n.get("status"))) { - var r = this.canvas.getHighlighter(), - s = r.style; - s.left = e.left + "px", s.top = e.top + "px", s.height = e.height + "px", s.width = e.width + "px", s.display = "block" - } - }, - onSelect: function(t, e) { - t.stopPropagation(); - var i = this.editorModel.get("selectedComponent"); - this.cleanPrevious(i); - var n = $(e), - r = n.data("model"); - if (r) { - var s = this.em, - o = r.get("mirror"); - r = o || r; - var a = s.get("opened"); - for (var l in a) { - a[l].set("open", 0) - } - for (var c = r.collection ? r.collection.parent : null; c;) c.set("open", 1), a[c.cid] = c, c = c.collection ? c.collection.parent : null; - this.editorModel.set("selectedComponent", r), r.set("status", "selected"), this.showFixedElementOffset(e), this.hideElementOffset(), this.hideHighlighter() - } - }, - updateToolbar: function(t) { - var e = this.config.em, - i = t == e ? e.get("selectedComponent") : t; - if (i) { - var s = i.get("toolbar"), - o = (this.ppfx, e.get("Config").showToolbar), - a = this.canvas.getToolbarEl(), - l = a.style; - if (o && s && s.length) { - if (l.display = "flex", !this.toolbar) { - a.innerHTML = "", this.toolbar = new r(s); - var c = new n({ - collection: this.toolbar, - editor: this.editor - }); - a.appendChild(c.render().el) - } - this.toolbar.reset(s); - var u = i.view; - u && this.updateToolbarPos(u.el) - } else l.display = "none" - } - }, - updateToolbarPos: function(t, e) { - var i = this.canvas.getToolbarEl(), - n = i.style, - r = this.canvas.getTargetToElementDim(i, t, { - elPos: e, - event: "toolbarPosUpdate" - }), - s = r.left + r.elementWidth - r.targetWidth; - n.top = r.top + "px", n.left = s + "px" - }, - getCanvasPosition: function() { - return this.canvas.getCanvasView().getPosition() - }, - clean: function() { - this.selEl && this.selEl.removeClass(this.hoverClass) - }, - getBadge: function() { - return this.canvas.getBadgeEl() - }, - onFrameScroll: function(t) { - var e = this.cacheEl; - if (e) { - var i = this.getElementPos(e); - this.updateBadge(e, i); - var n = this.em.get("selectedComponent"); - n && this.updateToolbarPos(n.view.el) - } - }, - updateAttached: function() { - var t = this.em.get("selectedComponent"); - if (t) { - var e = t.view; - this.updateToolbarPos(e.el), this.showFixedElementOffset(e.el) - } - }, - getElementPos: function(t, e) { - return this.canvas.getCanvasView().getElementPos(t) - }, - hideBadge: function() { - this.getBadge().style.display = "none" - }, - cleanPrevious: function(t) { - t && t.set({ - status: "", - state: "" - }) - }, - getContentWindow: function() { - return this.contWindow || (this.contWindow = $(this.frameEl.contentWindow)), this.contWindow - }, - run: function(t) { - t && t.get && (this.editor = t.get("Editor")), this.enable() - }, - stop: function() { - this.stopSelectComponent(), this.cleanPrevious(this.em.get("selectedComponent")), this.clean(), this.em.set("selectedComponent", null), this.toggleClipboard(), this.hideBadge(), this.hideFixedElementOffset(), this.canvas.getToolbarEl().style.display = "none", this.em.off("component:update", this.updateAttached, this), this.em.off("change:canvasOffset", this.updateAttached, this), this.em.off("change:selectedComponent", this.updateToolbar, this) - } - } - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(2); - t.exports = n.extend({ - defaults: e.extend({}, n.prototype.defaults, { - type: "image", - tagName: "img", - src: "", - void: 1, - droppable: !1, - resizable: !0, - traits: ["alt"] - }), - initialize: function(t, e) { - n.prototype.initialize.apply(this, arguments); - var i = this.get("attributes"); - i.src && this.set("src", i.src) - }, - initToolbar: function() { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - if (n.prototype.initToolbar.apply(this, e), this.sm && this.sm.get) { - var r = this.sm.get("Commands"); - if (r.has("image-editor")) { - var s = this.get("toolbar"); - s.push({ - attributes: { - class: "fa fa-pencil" - }, - command: "image-editor" - }), this.set("toolbar", s) - } - } - }, - getAttrToHTML: function() { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - var r = n.prototype.getAttrToHTML.apply(this, e); - delete r.onmousedown; - var s = this.get("src"); - return s && (r.src = s), r - }, - parseUri: function(t) { - var e = document.createElement("a"); - e.href = t; - for (var i = {}, n = e.search.substring(1).split("&"), r = 0; r < n.length; r++) { - var s = n[r].split("="), - o = decodeURIComponent(s[0]); - o && (i[o] = decodeURIComponent(s[1])) - } - return { - hostname: e.hostname, - pathname: e.pathname, - protocol: e.protocol, - search: e.search, - hash: e.hash, - port: e.port, - query: i - } - } - }, { - isComponent: function(t) { - var e = ""; - return "IMG" == t.tagName && (e = { - type: "image" - }), e - } - }) - }).call(e, i(1)) - }, function(e, i) { - e.exports = t - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.Model.extend({ - idAttribute: "src", - defaults: { - type: "", - src: "" - }, - getFilename: function() { - return this.get("src").split("/").pop() - }, - getExtension: function() { - return this.getFilename().split(".").pop() - } - }) - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.View.extend({ - initialize: function(t) { - this.options = t, this.config = t.config || {}, this.pfx = this.config.stylePrefix || "", this.ppfx = this.config.pStylePrefix || "", this.className = this.pfx + "asset", this.listenTo(this.model, "destroy remove", this.remove) - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0); - t.exports = n.View.extend({ - template: e.template('\n\n
<%= title %>
\n multiple/>\n
\n\n'), - events: {}, - initialize: function(t) { - this.options = t || {}, this.config = t.config || {}, this.pfx = this.config.stylePrefix || "", this.target = this.collection || {}, this.uploadId = this.pfx + "uploadFile", this.disabled = !this.config.upload, this.events["change #" + this.uploadId] = "uploadFile"; - var e = this.config.uploadFile; - e && (this.uploadFile = e.bind(this)), this.delegateEvents() - }, - uploadFile: function(t) { - for (var e = t.dataTransfer ? t.dataTransfer.files : t.target.files, i = new FormData, n = 0; n < e.length; n++) i.append("files[]", e[n]); - var r = this.target; - $.ajax({ - url: this.config.upload, - type: "POST", - data: i, - beforeSend: this.config.beforeSend, - complete: this.config.onComplete, - xhrFields: { - onprogress: function(t) { - t.lengthComputable - }, - onload: function(t) {} - }, - cache: !1, - contentType: !1, - processData: !1 - }).done(function(t) { - r.add(t.data) - }).always(function() {}) - }, - initDrop: function() { - var t = this; - if (!this.uploadForm && (this.uploadForm = this.$el.find("form").get(0), "draggable" in this.uploadForm)) { - this.uploadFile; - this.uploadForm.ondragover = function() { - return this.className = t.pfx + "hover", !1 - }, this.uploadForm.ondragleave = function() { - return this.className = "", !1 - }, this.uploadForm.ondrop = function(e) { - this.className = "", e.preventDefault(), t.uploadFile(e) - } - } - }, - render: function() { - return this.$el.html(this.template({ - title: this.config.uploadText, - uploadId: this.uploadId, - disabled: this.disabled, - pfx: this.pfx - })), this.initDrop(), this.$el.attr("class", this.pfx + "file-uploader"), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.Model.extend({ - defaults: { - id: "", - label: "", - open: !0, - attributes: {} - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = (i(0), i(8)); - t.exports = e.extend({}, n, { - init: function() { - for (var t = arguments.length, i = Array(t), r = 0; r < t; r++) i[r] = arguments[r]; - n.init.apply(this, i), e.bindAll(this, "insertComponent"), this.allowDraw = 0 - }, - run: function(t, e, i) { - this.em = t, this.sender = e, this.opt = i || {}, this.$wr = this.$wrapper, this.enable() - }, - enable: function() { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - n.enable.apply(this, e), this.$wr.on("click", this.insertComponent) - }, - insertComponent: function() { - this.$wr.off("click", this.insertComponent), this.stopSelectPosition(); - var t = this.buildContent(); - this.beforeInsert(t); - var e = this.sorter.lastPos.index, - i = this.create(this.sorter.target, t, e, null, { - silent: !1 - }); - this.opt.terminateAfterInsert && this.sender ? this.sender.set("active", !1) : this.enable(), i && (this.em && this.em.editor.initChildrenComp(i), this.afterInsert(i, this)) - }, - beforeInsert: function(t) {}, - afterInsert: function(t) {}, - buildContent: function() { - return this.opt.content || {} - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - t.exports = { - startSelectPosition: function(t, e) { - this.isPointed = !1; - var i = this.editorModel.get("Utils"); - i && !this.sorter && (this.sorter = new i.Sorter({ - container: this.getCanvasBody(), - placer: this.canvas.getPlacerEl(), - containerSel: "*", - itemSel: "*", - pfx: this.ppfx, - direction: "a", - document: e, - wmargin: 1, - nested: 1, - em: this.editorModel, - canvasRelative: 1 - })), this.sorter.startSort(t) - }, - getOffsetDim: function() { - var t = this.offset(this.canvas.getFrameEl()), - e = this.offset(this.canvas.getElement()); - return { - top: t.top - e.top, - left: t.left - e.left - } - }, - stopSelectPosition: function() { - this.posTargetCollection = null, this.posIndex = "after" == this.posMethod && 0 !== this.cDim.length ? this.posIndex + 1 : this.posIndex, this.sorter && (this.sorter.moved = 0, this.sorter.endMove()), this.cDim && (this.posIsLastEl = 0 !== this.cDim.length && "after" == this.posMethod && this.posIndex == this.cDim.length, this.posTargetEl = 0 === this.cDim.length ? $(this.outsideElem) : !this.posIsLastEl && this.cDim[this.posIndex] ? $(this.cDim[this.posIndex][5]).parent() : $(this.outsideElem), this.posTargetModel = this.posTargetEl.data("model"), this.posTargetCollection = this.posTargetEl.data("model-comp")) - }, - enable: function() { - this.startSelectPosition() - }, - nearFloat: function(t, e, i) { - var n = t || 0, - r = e || "before", - s = i.length, - o = 0 !== s && "after" == r && n == s; - return 0 !== s && (!o && !i[n][4] || i[n - 1] && !i[n - 1][4] || o && !i[n - 1][4]) ? 1 : 0 - }, - run: function() { - this.enable() - }, - stop: function() { - this.stopSelectPosition(), this.$wrapper.css("cursor", ""), this.$wrapper.unbind() - } - } - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(22), - r = function(t) { - return t && t.__esModule ? t : { - default: t - } - }(n), - s = i(0), - o = i(19); - t.exports = s.Model.extend(r.default).extend({ - defaults: { - selectors: {}, - selectorsAdd: "", - style: {}, - mediaText: "", - state: "", - stylable: !0 - }, - initialize: function(t, e) { - if (this.config = t || {}, this.sm = e ? e.sm || {} : {}, this.slct = this.config.selectors || [], this.sm.get) { - for (var i = [], n = 0; n < this.slct.length; n++) i.push(this.sm.get("SelectorManager").add(this.slct[n].name || this.slct[n])); - this.slct = i - } - this.set("selectors", new o(this.slct)) - }, - compare: function(t, i, n, r) { - var s = r || {}, - o = i || "", - a = n || "", - l = s.selectorsAdd || ""; - t instanceof Array || t.models || (t = [t]); - var c = e.map(t.models || t, function(t) { - return t.get("name") - }), - u = e.map(this.get("selectors").models, function(t) { - return t.get("name") - }); - if (c.length !== u.length) return !1; - for (var h = 0; h < c.length; h++) { - for (var d = 0, f = 0; f < u.length; f++) c[h] === u[f] && (d = 1); - if (0 === d) return !1 - } - return this.get("state") === o && (this.get("mediaText") === a && this.get("selectorsAdd") === l) - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.Collection.extend({ - initialize: function(t, e) { - this.model = function(t, e) { - return this.ClassTag || (this.ClassTag = i(32)), new this.ClassTag(t, e) - } - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(2); - t.exports = n.extend({ - defaults: e.extend({}, n.prototype.defaults, { - type: "text", - droppable: !1, - editable: !0 - }) - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = (i(0), i(3)); - t.exports = n.extend({ - events: { - dblclick: "enableEditing", - change: "parseRender" - }, - initialize: function(t) { - n.prototype.initialize.apply(this, arguments), e.bindAll(this, "disableEditing"), this.listenTo(this.model, "focus active", this.enableEditing), this.rte = this.config.rte || "", this.activeRte = null, this.em = this.config.em - }, - enableEditing: function(t) { - var e = this.model.get("editable"); - if (this.rte && e) try { - this.activeRte = this.rte.attach(this, this.activeRte), this.rte.focus(this, this.activeRte) - } catch (t) { - console.error(t) - } - this.toggleEvents(1) - }, - disableEditing: function(t) { - var e = this.model, - i = e.get("editable"); - if (this.rte && i) { - try { - this.rte.detach(this, this.activeRte) - } catch (t) { - console.error(t) - } - var n = this.getChildrenContainer(); - e.set("content", n.innerHTML) - }!this.rte.customRte && i && this.parseRender(), this.toggleEvents() - }, - disablePropagation: function(t) { - t.stopPropagation() - }, - parseRender: function() { - var t = this.getChildrenContainer(), - e = this.model.get("components"), - i = { - silent: !0 - }; - e.reset(null, i), e.add(t.innerHTML, i), this.model.set("content", ""), this.render(), e.trigger("resetNavigator") - }, - toggleEvents: function(t) { - var e = t ? "on" : "off", - i = [this.el.ownerDocument, document, this.rte]; - $(i).off("mousedown", this.disableEditing), $(i)[e]("mousedown", this.disableEditing), this.$el.off("mousedown", this.disablePropagation), this.$el[e]("mousedown", this.disablePropagation) - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - Object.defineProperty(e, "__esModule", { - value: !0 - }), e.default = { - extendStyle: function(t) { - return Object.assign({}, this.getStyle(), t) - }, - getStyle: function() { - return this.get("style") - }, - setStyle: function() { - var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, - e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - this.set("style", Object.assign({}, t), e) - }, - addStyle: function(t) { - var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", - i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - "string" == typeof t ? t = { - prop: e - } : i = e || {}, t = this.extendStyle(t), this.setStyle(t, i) - }, - removeStyle: function(t) { - var e = Object.assign({}, this.getStyle()); - delete e[t], this.setStyle(e) - } - } - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = (i(0), i(127)); - i(203); - t.exports = n.extend({ - template: e.template('\n
input-holder\'>
\n
\n
\n
\n
\n
'), - initialize: function(t) { - n.prototype.initialize.apply(this, arguments); - var e = this.ppfx; - this.colorCls = e + "field-color-picker", this.inputClass = e + "field " + e + "field-color", this.colorHolderClass = e + "field-colorp-c", this.listenTo(this.model, "change:value", this.handleModelChange) - }, - handleModelChange: function() { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - n.prototype.handleModelChange.apply(this, e); - var r = this.model.get("value"), - s = this.getColorEl(); - r = "none" === r ? "#fff" : r, s.spectrum("set", r), s.get(0).style.backgroundColor = r - }, - getColorEl: function() { - if (!this.colorEl) { - var t = this.model, - e = $("
", { - class: this.colorCls - }), - i = e.get(0).style, - n = this.target && this.target.config ? this.target.config.el : ""; - e.spectrum({ - appendTo: n || "body", - maxSelectionSize: 8, - showPalette: !0, - showAlpha: !0, - chooseText: "Ok", - cancelText: "⨯", - palette: [], - move: function(t) { - var e = 1 == t.getAlpha() ? t.toHexString() : t.toRgbString(); - i.backgroundColor = e - }, - change: function(e) { - var n = 1 == e.getAlpha() ? e.toHexString() : e.toRgbString(); - n = n.replace(/ /g, ""), i.backgroundColor = n, t.set("value", n) - } - }), this.colorEl = e - } - return this.colorEl - }, - render: function() { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - return n.prototype.render.apply(this, e), this.$el.find("." + this.colorHolderClass).html(this.getColorEl()), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0); - t.exports = n.View.extend({ - events: {}, - template: e.template('\n input-holder\'>\n field-units\'>\n
\n
\n
\n
'), - initialize: function(t) { - e.bindAll(this, "moveIncrement", "upIncrement"); - var i = t || {}, - n = i.ppfx || "", - r = i.contClass || n + "field"; - this.ppfx = n, this.docEl = $(document), this.inputCls = n + "input-number", this.unitCls = n + "input-unit", this.contClass = r, this.events["click ." + n + "field-arrow-u"] = "upArrowClick", this.events["click ." + n + "field-arrow-d"] = "downArrowClick", this.events["mousedown ." + n + "field-arrows"] = "downIncrement", this.events["change ." + this.inputCls] = "handleChange", this.events["change ." + this.unitCls] = "handleUnitChange", this.listenTo(this.model, "change:unit change:value", this.handleModelChange), this.delegateEvents() - }, - setValue: function(t, e) { - var i = e || {}, - n = this.validateInputValue(t, { - deepCheck: 1 - }), - r = { - value: n.value - }; - (n.unit || n.force) && (r.unit = n.unit), this.model.set(r, i), i.silent && this.handleModelChange() - }, - handleChange: function(t) { - t.stopPropagation(), this.setValue(this.getInputEl().value), this.elementUpdated() - }, - handleUnitChange: function(t) { - t.stopPropagation(); - var e = this.getUnitEl().value; - this.model.set("unit", e), this.elementUpdated() - }, - elementUpdated: function() { - this.model.trigger("el:change") - }, - handleModelChange: function() { - var t = this.model; - this.getInputEl().value = t.get("value"); - var e = this.getUnitEl(); - e && (e.value = t.get("unit")) - }, - getInputEl: function() { - return this.inputEl || (this.inputEl = $("", { - type: "text", - class: this.inputCls, - placeholder: this.model.get("defaults") - })), this.inputEl.get(0) - }, - getUnitEl: function() { - if (!this.unitEl) { - var t = this.model, - i = t.get("units") || []; - if (i.length) { - var n = '", this.unitEl = $(n) - } - } - return this.unitEl && this.unitEl.get(0) - }, - upArrowClick: function() { - var t = this.model.get("value"); - t = isNaN(t) ? 1 : parseInt(t, 10) + 1; - var e = this.validateInputValue(t); - this.model.set("value", e.value) - }, - downArrowClick: function() { - var t = this.model.get("value"); - t = isNaN(t) ? 0 : parseInt(t, 10) - 1; - var e = this.validateInputValue(t); - this.model.set("value", e.value) - }, - downIncrement: function(t) { - t.preventDefault(), this.moved = 0; - var e = this.model.get("value"); - e = isNaN(e) ? 0 : parseInt(e, 10); - var i = { - y: t.pageY, - val: e - }; - this.docEl.mouseup(i, this.upIncrement), this.docEl.mousemove(i, this.moveIncrement) - }, - moveIncrement: function(t) { - this.moved = 1; - var e = parseInt(t.data.val - t.pageY + t.data.y, 10); - return this.prValue = this.validateInputValue(e).value, this.model.set("value", this.prValue, { - avoidStore: 1 - }), !1 - }, - upIncrement: function(t) { - if (this.docEl.off("mouseup", this.upIncrement), this.docEl.off("mousemove", this.moveIncrement), this.prValue && this.moved) { - var e = this.prValue - 1; - this.model.set("value", e, { - avoidStore: 1 - }).set("value", e + 1), this.elementUpdated() - } - }, - validateInputValue: function(t, i) { - var n = 0, - r = i || {}, - s = this.model, - o = t || s.get("defaults"), - a = s.get("units") || [], - l = s.get("unit") || a.length && a[0] || "", - c = s.get("max"), - u = s.get("min"); - if (r.deepCheck) { - var h = s.get("fixedValues") || []; - if (o) { - var d = new RegExp("^" + h.join("|"), "g"); - if (h.length && d.test(o)) o = o.match(d)[0], l = "", n = 1; - else { - var f = o + ""; - o += "", o = parseFloat(o.replace(",", ".")), o = isNaN(o) ? s.get("defaults") : o; - var p = f.replace(o, ""); - e.indexOf(a, p) >= 0 && (l = p) - } - } - } - return void 0 !== c && "" !== c && (o = o > c ? c : o), void 0 !== u && "" !== u && (o = o < u ? u : o), { - force: n, - value: o, - unit: l - } - }, - render: function() { - var t = this.ppfx; - return this.$el.html(this.template({ - ppfx: t - })), this.$el.find("." + t + "input-holder").html(this.getInputEl()), this.$el.find("." + t + "field-units").html(this.getUnitEl()), this.$el.addClass(this.contClass), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.View.extend({ - itemView: "", - itemsView: "", - itemType: "type", - initialize: function(t, e) { - this.config = e || {} - }, - addTo: function(t) { - this.add(t) - }, - add: function(t, e) { - var i = e || null, - n = this.itemView, - r = t.get(this.itemType); - this.itemsView && this.itemsView[r] && (n = this.itemsView[r]); - var s = new n({ - model: t, - config: this.config - }, this.config), - o = s.render().el; - i ? i.appendChild(o) : this.$el.append(o) - }, - render: function() { - var t = document.createDocumentFragment(); - return this.$el.empty(), this.collection.length && this.collection.each(function(e) { - this.add(e, t) - }, this), this.$el.append(t), this - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0), - r = i(140); - t.exports = n.View.extend({ - initialize: function(t) { - if (this.opt = t, this.config = t.config, this.preview = t.preview, this.ppfx = t.config.pStylePrefix || "", this.pfx = t.config.stylePrefix || "", this.parent = t.parent, this.listenTo(this.collection, "add", this.addTo), this.listenTo(this.collection, "reset resetNavigator", this.render), this.className = this.pfx + "items", this.config.sortable && !this.opt.sorter) { - var e = this.pfx, - i = this.config.em.get("Utils"); - this.opt.sorter = new i.Sorter({ - container: this.el, - containerSel: "." + e + "items", - itemSel: "." + e + "item", - ppfx: this.ppfx, - ignoreViewChildren: 1, - pfx: e, - nested: 1 - }) - } - this.sorter = this.opt.sorter || "", this.parent || (this.className += " " + this.pfx + this.config.containerId), this.$el.data("collection", this.collection), this.parent && this.$el.data("model", this.parent) - }, - addTo: function(t) { - var e = this.collection.indexOf(t); - this.addToCollection(t, null, e) - }, - addToCollection: function(t, e, i) { - var n = e || null, - s = r, - o = new s({ - model: t, - config: this.config, - sorter: this.sorter, - isCountable: this.isCountable, - opened: this.opt.opened - }), - a = o.render().el; - if (n) n.appendChild(a); - else if (void 0 !== i) { - var l = "before"; - this.$el.children().length == i && (i--, l = "after"), i < 0 ? this.$el.append(a) : this.$el.children().eq(i)[l](a) - } else this.$el.append(a); - return a - }, - isCountable: function(t, e) { - var i = t.get("type"), - n = t.get("tagName"); - return ("textnode" != i && "br" != n || !e) && !t.get("hiddenLayer") - }, - render: function() { - var t = document.createDocumentFragment(); - return this.$el.empty(), this.collection.each(function(e) { - this.isCountable(e, this.config.hideTextnode) && this.addToCollection(e, t) - }, this), this.$el.append(t), this.$el.attr("class", e.result(this, "className")), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(143); - t.exports = n.Collection.extend({ - model: r, - deactivateAllExceptOne: function(t, e) { - this.forEach(function(i, n) { - i !== t && (i.set("active", !1), e && i.get("buttons").length && i.get("buttons").deactivateAllExceptOne(t, e)) - }) - }, - deactivateAll: function(t) { - var e = t || ""; - this.forEach(function(t, i) { - t.get("context") == e && (t.set("active", !1), t.get("buttons").length && t.get("buttons").deactivateAll(e)) - }) - } - }) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(27); - t.exports = n.Model.extend({ - defaults: { - id: "", - content: "", - visible: !0, - buttons: [] - }, - initialize: function(t) { - this.btn = this.get("buttons") || [], this.buttons = new r(this.btn), this.set("buttons", this.buttons) - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0), - r = i(145); - t.exports = n.View.extend({ - initialize: function(t) { - this.opt = t || {}, this.config = this.opt.config || {}, this.pfx = this.config.stylePrefix || "", this.parentM = this.opt.parentM || null, this.listenTo(this.collection, "add", this.addTo), this.listenTo(this.collection, "reset", this.render), this.className = this.pfx + "buttons" - }, - addTo: function(t) { - this.addToCollection(t) - }, - addToCollection: function(t, e) { - var i = e || null, - n = r, - s = new n({ - model: t, - config: this.config, - parentM: this.parentM - }), - o = s.render().el; - return i ? i.appendChild(o) : this.$el.append(o), o - }, - render: function() { - var t = document.createDocumentFragment(); - return this.$el.empty(), this.collection.each(function(e) { - this.addToCollection(e, t) - }, this), this.$el.append(t), this.$el.attr("class", e.result(this, "className")), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(29); - t.exports = n.View.extend({ - initialize: function(t) { - this.config = t.config || {}, this.pfx = this.config.stylePrefix || "", this.buttons = this.model.get("buttons"), this.className = this.pfx + "panel", this.id = this.pfx + this.model.get("id"), this.listenTo(this.model, "change:appendContent", this.appendContent), this.listenTo(this.model, "change:content", this.updateContent) - }, - appendContent: function() { - this.$el.append(this.model.get("appendContent")) - }, - updateContent: function() { - this.$el.html(this.model.get("content")) - }, - initResize: function() { - var t = this.config.em, - e = t ? t.get("Editor") : "", - i = this.model.get("resizable"); - if (e && i) { - var n, r, s, o = !0 === i ? [1, 1, 1, 1] : i, - a = o.length, - l = 0; - 2 == a ? (n = o[0], s = o[0], r = o[1], l = o[1]) : 4 == a && (n = o[0], r = o[1], s = o[2], l = o[3]); - var c = e.Utils.Resizer.init({ - tc: n, - cr: r, - bc: s, - cl: l, - tl: 0, - tr: 0, - bl: 0, - br: 0, - appendTo: this.el, - prefix: e.getConfig().stylePrefix, - posFetcher: function(t) { - var e = t.getBoundingClientRect(); - return { - left: 0, - top: 0, - width: e.width, - height: e.height - } - } - }); - c.blur = function() {}, c.focus(this.el) - } - }, - render: function() { - if (this.$el.attr("class", this.className), this.id && this.$el.attr("id", this.id), this.buttons.length) { - var t = new r({ - collection: this.buttons, - config: this.config - }); - this.$el.append(t.render().el) - } - return this.$el.append(this.model.get("content")), this - } - }) - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.View.extend({ - tagName: "a", - initialize: function(t, e) { - this.config = e || {}, this.ppfx = this.config.pStylePrefix || "", this.className = this.config.stylePrefix + "btn " + this.model.get("class") - }, - render: function() { - return this.$el.addClass(this.className), this - } - }) - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.Model.extend({ - idAttribute: "name", - defaults: { - name: "", - label: "", - type: "class", - active: !0 - }, - initialize: function() { - this.set("name", this.escapeName(this.get("name"))), this.get("label").trim() || this.set("label", this.get("name")) - }, - escapeName: function(t) { - return t.replace(/([^a-z0-9\w]+)/gi, "-") - } - }) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(32); - t.exports = n.Collection.extend({ - model: r - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - t.exports = function() { - var t, n, r = {}, - s = i(168), - o = i(173), - a = i(183); - return { - name: "StyleManager", - getConfig: function() { - return r - }, - init: function(e) { - r = e || {}; - for (var i in s) i in r || (r[i] = s[i]); - var l = r.pStylePrefix; - return l && (r.stylePrefix = l + r.stylePrefix), t = new o(r.sectors), n = new a({ - collection: t, - target: r.em, - config: r - }), this - }, - addSector: function(e, i) { - var n = this.getSector(e); - return n || (i.id = e, n = t.add(i)), n - }, - getSector: function(e) { - var i = t.where({ - id: e - }); - return i.length ? i[0] : null - }, - getSectors: function() { - return t - }, - addProperty: function(t, e) { - var i = null, - n = this.getSector(t); - return n && (i = n.get("properties").add(e)), i - }, - getProperty: function(t, e) { - var i = null, - n = this.getSector(t); - return n && (i = n.get("properties").where({ - property: e - }), i = 1 == i.length ? i[0] : i), i - }, - getProperties: function(t) { - var e = null, - i = this.getSector(t); - return i && (e = i.get("properties")), e - }, - getModelToStyle: function(t) { - var i = t.get("classes"); - if (r.em && i && i.length) { - var n = r.em.get("Config").devicePreviewMode, - s = r.em.getDeviceModel(), - o = n ? "" : t.get("state"), - a = s && !n ? s.get("width") : "", - l = r.em.get("CssComposer"), - c = e.filter(i.models, function(t) { - return t.get("active") - }), - u = l.get(c, o, a); - if (u) return u - } - return t - }, - render: function() { - return n.render().el - } - } - } - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(169); - t.exports = n.Collection.extend({ - model: r, - initialize: function() { - this.idx = 1, this.on("add", this.onAdd), this.on("reset", this.onReset) - }, - onAdd: function(t, e, i) { - i.noIncrement || t.set("index", this.idx++) - }, - onReset: function() { - this.idx = 1 - } - }) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(170); - t.exports = n.Collection.extend({ - model: r - }) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(4), - s = i(178), - o = i(179), - a = i(180), - l = i(176), - c = i(177), - u = i(38), - h = i(181); - t.exports = n.View.extend({ - initialize: function(t) { - this.config = t.config || {}, this.pfx = this.config.stylePrefix || "", this.target = t.target || {}, this.propTarget = t.propTarget || {}, this.onChange = t.onChange || {}, this.onInputRender = t.onInputRender || {}, this.customValue = t.customValue || {} - }, - render: function() { - var t = document.createDocumentFragment(); - return this.collection.each(function(e) { - var i = r; - switch (e.get("type")) { - case "integer": - i = s; - break; - case "radio": - i = o; - break; - case "select": - i = a; - break; - case "color": - i = l; - break; - case "file": - i = c; - break; - case "composite": - i = u; - break; - case "stack": - i = h - } - var n = new i({ - model: e, - name: e.get("name"), - id: this.pfx + e.get("property"), - target: this.target, - propTarget: this.propTarget, - onChange: this.onChange, - onInputRender: this.onInputRender, - config: this.config - }); - "composite" != e.get("type") && (n.customValue = this.customValue), t.appendChild(n.render().el) - }, this), this.$el.append(t), this.$el.append($("
", { - class: "clear" - })), this.$el.attr("class", this.pfx + "properties"), this - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = (i(0), i(4)); - t.exports = n.extend({ - template: e.template('\n
\n \tinput-holder\'>\n
\n
'), - initialize: function(t) { - n.prototype.initialize.apply(this, arguments), e.bindAll(this, "build"), this.config = t.config || {}, this.className = this.className + " " + this.pfx + "composite" - }, - valueUpdated: function() { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - this.model.get("detached") || n.prototype.valueUpdated.apply(this, e) - }, - renderInput: function() { - var t = this.model, - e = t.get("properties") || []; - if (e.length && (this.$input || (this.$input = $("", { - value: 0, - type: "hidden" - })), this.props || (this.props = t.get("properties")), !this.$props)) { - this.props.each(function(e, i) { - e && "composite" == e.get("type") && (this.props.remove(e), console.warn("Nested composite types not yet allowed.")), e.parent = t - }, this); - var n = i(37), - r = new n(this.getPropsConfig()); - this.$props = r.render().$el, this.$el.find("#" + this.pfx + "input-holder").html(this.$props) - } - }, - getPropsConfig: function(t) { - var e = this, - i = { - config: this.config, - collection: this.props, - target: this.target, - propTarget: this.propTarget, - onChange: function(t, i, n) { - var r = e.build(); - e.model.set("value", r, n) - }, - customValue: function(t, i) { - return e.valueOnIndex(i, t) - } - }; - return this.model.get("detached") && delete i.onChange, i - }, - getDefaultValue: function() { - var t = ""; - return this.props.each(function(e, i) { - t += e.get("defaults") + e.get("unit") + " " - }), this.model.get("defaults") || t.replace(/ +$/, "") - }, - valueOnIndex: function(t, e) { - var i = null, - n = this.getComponentValue().split(" "); - if (n.length && n[t] && (i = n[t], e && e.model && e.model.get("functionName"))) { - var r = this.fetchFromFunction(i); - r && (i = r) - } - return i - }, - build: function(t, e, i) { - var n = ""; - return this.model.get("properties").each(function(t) { - var e = t.getValue(), - i = t.get("functionName"); - i && (e = i + "(" + e + ")"), n += e + " " - }), n.replace(/ +$/, "") - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(186), - s = i(187); - t.exports = n.Collection.extend({ - model: r, - setTarget: function(t) { - this.target = t - }, - add: function(t, e) { - if ("string" == typeof t || t instanceof Array) { - "string" == typeof t && (t = [t]); - for (var i = 0, r = t.length; i < r; i++) { - var o = t[i], - a = "string" == typeof o ? s.build(o)[0] : o; - a.target = this.target, t[i] = a - } - } - return n.Collection.prototype.add.apply(this, [t, e]) - } - }) - }, function(t, e, i) { - ! function(t) { - t(i(5)) - }(function(t) { - "use strict"; - - function e(t) { - for (var e = {}, i = 0; i < t.length; ++i) e[t[i].toLowerCase()] = !0; - return e - } - - function i(t, e) { - for (var i, n = !1; null != (i = t.next());) { - if (n && "/" == i) { - e.tokenize = null; - break - } - n = "*" == i - } - return ["comment", "comment"] - } - t.defineMode("css", function(e, i) { - function n(t, e) { - return p = e, t - } - - function r(t, e) { - var i = t.next(); - if (v[i]) { - var r = v[i](t, e); - if (!1 !== r) return r - } - return "@" == i ? (t.eatWhile(/[\w\\\-]/), n("def", t.current())) : "=" == i || ("~" == i || "|" == i) && t.eat("=") ? n(null, "compare") : '"' == i || "'" == i ? (e.tokenize = s(i), e.tokenize(t, e)) : "#" == i ? (t.eatWhile(/[\w\\\-]/), n("atom", "hash")) : "!" == i ? (t.match(/^\s*\w*/), n("keyword", "important")) : /\d/.test(i) || "." == i && t.eat(/\d/) ? (t.eatWhile(/[\w.%]/), n("number", "unit")) : "-" !== i ? /[,+>*\/]/.test(i) ? n(null, "select-op") : "." == i && t.match(/^-?[_a-z][_a-z0-9-]*/i) ? n("qualifier", "qualifier") : /[:;{}\[\]\(\)]/.test(i) ? n(null, i) : "u" == i && t.match(/rl(-prefix)?\(/) || "d" == i && t.match("omain(") || "r" == i && t.match("egexp(") ? (t.backUp(1), e.tokenize = o, n("property", "word")) : /[\w\\\-]/.test(i) ? (t.eatWhile(/[\w\\\-]/), n("property", "word")) : n(null, null) : /[\d.]/.test(t.peek()) ? (t.eatWhile(/[\w.%]/), n("number", "unit")) : t.match(/^-[\w\\\-]+/) ? (t.eatWhile(/[\w\\\-]/), t.match(/^\s*:/, !1) ? n("variable-2", "variable-definition") : n("variable-2", "variable")) : t.match(/^\w+-/) ? n("meta", "meta") : void 0 - } - - function s(t) { - return function(e, i) { - for (var r, s = !1; null != (r = e.next());) { - if (r == t && !s) { - ")" == t && e.backUp(1); - break - } - s = !s && "\\" == r - } - return (r == t || !s && ")" != t) && (i.tokenize = null), n("string", "string") - } - } - - function o(t, e) { - return t.next(), t.match(/\s*[\"\')]/, !1) ? e.tokenize = null : e.tokenize = s(")"), n(null, "(") - } - - function a(t, e, i) { - this.type = t, this.indent = e, this.prev = i - } - - function l(t, e, i, n) { - return t.context = new a(i, e.indentation() + (!1 === n ? 0 : m), t.context), i - } - - function c(t) { - return t.context.prev && (t.context = t.context.prev), t.context.type - } - - function u(t, e, i) { - return L[i.context.type](t, e, i) - } - - function h(t, e, i, n) { - for (var r = n || 1; r > 0; r--) i.context = i.context.prev; - return u(t, e, i) - } - - function d(t) { - var e = t.current().toLowerCase(); - g = E.hasOwnProperty(e) ? "atom" : M.hasOwnProperty(e) ? "keyword" : "variable" - } - var f = i.inline; - i.propertyKeywords || (i = t.resolveMode("text/css")); - var p, g, m = e.indentUnit, - v = i.tokenHooks, - y = i.documentTypes || {}, - b = i.mediaTypes || {}, - x = i.mediaFeatures || {}, - w = i.mediaValueKeywords || {}, - C = i.propertyKeywords || {}, - k = i.nonStandardPropertyKeywords || {}, - S = i.fontProperties || {}, - T = i.counterDescriptors || {}, - M = i.colorKeywords || {}, - E = i.valueKeywords || {}, - P = i.allowNested, - $ = !0 === i.supportsAtComponent, - L = {}; - return L.top = function(t, e, i) { - if ("{" == t) return l(i, e, "block"); - if ("}" == t && i.context.prev) return c(i); - if ($ && /@component/.test(t)) return l(i, e, "atComponentBlock"); - if (/^@(-moz-)?document$/.test(t)) return l(i, e, "documentTypes"); - if (/^@(media|supports|(-moz-)?document|import)$/.test(t)) return l(i, e, "atBlock"); - if (/^@(font-face|counter-style)/.test(t)) return i.stateArg = t, "restricted_atBlock_before"; - if (/^@(-(moz|ms|o|webkit)-)?keyframes$/.test(t)) return "keyframes"; - if (t && "@" == t.charAt(0)) return l(i, e, "at"); - if ("hash" == t) g = "builtin"; - else if ("word" == t) g = "tag"; - else { - if ("variable-definition" == t) return "maybeprop"; - if ("interpolation" == t) return l(i, e, "interpolation"); - if (":" == t) return "pseudo"; - if (P && "(" == t) return l(i, e, "parens") - } - return i.context.type - }, L.block = function(t, e, i) { - if ("word" == t) { - var n = e.current().toLowerCase(); - return C.hasOwnProperty(n) ? (g = "property", "maybeprop") : k.hasOwnProperty(n) ? (g = "string-2", "maybeprop") : P ? (g = e.match(/^\s*:(?:\s|$)/, !1) ? "property" : "tag", "block") : (g += " error", "maybeprop") - } - return "meta" == t ? "block" : P || "hash" != t && "qualifier" != t ? L.top(t, e, i) : (g = "error", "block") - }, L.maybeprop = function(t, e, i) { - return ":" == t ? l(i, e, "prop") : u(t, e, i) - }, L.prop = function(t, e, i) { - if (";" == t) return c(i); - if ("{" == t && P) return l(i, e, "propBlock"); - if ("}" == t || "{" == t) return h(t, e, i); - if ("(" == t) return l(i, e, "parens"); - if ("hash" != t || /^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(e.current())) { - if ("word" == t) d(e); - else if ("interpolation" == t) return l(i, e, "interpolation") - } else g += " error"; - return "prop" - }, L.propBlock = function(t, e, i) { - return "}" == t ? c(i) : "word" == t ? (g = "property", "maybeprop") : i.context.type - }, L.parens = function(t, e, i) { - return "{" == t || "}" == t ? h(t, e, i) : ")" == t ? c(i) : "(" == t ? l(i, e, "parens") : "interpolation" == t ? l(i, e, "interpolation") : ("word" == t && d(e), "parens") - }, L.pseudo = function(t, e, i) { - return "word" == t ? (g = "variable-3", i.context.type) : u(t, e, i) - }, L.documentTypes = function(t, e, i) { - return "word" == t && y.hasOwnProperty(e.current()) ? (g = "tag", i.context.type) : L.atBlock(t, e, i) - }, L.atBlock = function(t, e, i) { - if ("(" == t) return l(i, e, "atBlock_parens"); - if ("}" == t || ";" == t) return h(t, e, i); - if ("{" == t) return c(i) && l(i, e, P ? "block" : "top"); - if ("interpolation" == t) return l(i, e, "interpolation"); - if ("word" == t) { - var n = e.current().toLowerCase(); - g = "only" == n || "not" == n || "and" == n || "or" == n ? "keyword" : b.hasOwnProperty(n) ? "attribute" : x.hasOwnProperty(n) ? "property" : w.hasOwnProperty(n) ? "keyword" : C.hasOwnProperty(n) ? "property" : k.hasOwnProperty(n) ? "string-2" : E.hasOwnProperty(n) ? "atom" : M.hasOwnProperty(n) ? "keyword" : "error" - } - return i.context.type - }, L.atComponentBlock = function(t, e, i) { - return "}" == t ? h(t, e, i) : "{" == t ? c(i) && l(i, e, P ? "block" : "top", !1) : ("word" == t && (g = "error"), i.context.type) - }, L.atBlock_parens = function(t, e, i) { - return ")" == t ? c(i) : "{" == t || "}" == t ? h(t, e, i, 2) : L.atBlock(t, e, i) - }, L.restricted_atBlock_before = function(t, e, i) { - return "{" == t ? l(i, e, "restricted_atBlock") : "word" == t && "@counter-style" == i.stateArg ? (g = "variable", "restricted_atBlock_before") : u(t, e, i) - }, L.restricted_atBlock = function(t, e, i) { - return "}" == t ? (i.stateArg = null, c(i)) : "word" == t ? (g = "@font-face" == i.stateArg && !S.hasOwnProperty(e.current().toLowerCase()) || "@counter-style" == i.stateArg && !T.hasOwnProperty(e.current().toLowerCase()) ? "error" : "property", "maybeprop") : "restricted_atBlock" - }, L.keyframes = function(t, e, i) { - return "word" == t ? (g = "variable", "keyframes") : "{" == t ? l(i, e, "top") : u(t, e, i) - }, L.at = function(t, e, i) { - return ";" == t ? c(i) : "{" == t || "}" == t ? h(t, e, i) : ("word" == t ? g = "tag" : "hash" == t && (g = "builtin"), "at") - }, L.interpolation = function(t, e, i) { - return "}" == t ? c(i) : "{" == t || ";" == t ? h(t, e, i) : ("word" == t ? g = "variable" : "variable" != t && "(" != t && ")" != t && (g = "error"), "interpolation") - }, { - startState: function(t) { - return { - tokenize: null, - state: f ? "block" : "top", - stateArg: null, - context: new a(f ? "block" : "top", t || 0, null) - } - }, - token: function(t, e) { - if (!e.tokenize && t.eatSpace()) return null; - var i = (e.tokenize || r)(t, e); - return i && "object" == typeof i && (p = i[1], i = i[0]), g = i, e.state = L[e.state](p, t, e), g - }, - indent: function(t, e) { - var i = t.context, - n = e && e.charAt(0), - r = i.indent; - return "prop" != i.type || "}" != n && ")" != n || (i = i.prev), i.prev && ("}" != n || "block" != i.type && "top" != i.type && "interpolation" != i.type && "restricted_atBlock" != i.type ? (")" != n || "parens" != i.type && "atBlock_parens" != i.type) && ("{" != n || "at" != i.type && "atBlock" != i.type) || (r = Math.max(0, i.indent - m), i = i.prev) : (i = i.prev, r = i.indent)), r - }, - electricChars: "}", - blockCommentStart: "/*", - blockCommentEnd: "*/", - fold: "brace" - } - }); - var n = ["domain", "regexp", "url", "url-prefix"], - r = e(n), - s = ["all", "aural", "braille", "handheld", "print", "projection", "screen", "tty", "tv", "embossed"], - o = e(s), - a = ["width", "min-width", "max-width", "height", "min-height", "max-height", "device-width", "min-device-width", "max-device-width", "device-height", "min-device-height", "max-device-height", "aspect-ratio", "min-aspect-ratio", "max-aspect-ratio", "device-aspect-ratio", "min-device-aspect-ratio", "max-device-aspect-ratio", "color", "min-color", "max-color", "color-index", "min-color-index", "max-color-index", "monochrome", "min-monochrome", "max-monochrome", "resolution", "min-resolution", "max-resolution", "scan", "grid", "orientation", "device-pixel-ratio", "min-device-pixel-ratio", "max-device-pixel-ratio", "pointer", "any-pointer", "hover", "any-hover"], - l = e(a), - c = ["landscape", "portrait", "none", "coarse", "fine", "on-demand", "hover", "interlace", "progressive"], - u = e(c), - h = ["align-content", "align-items", "align-self", "alignment-adjust", "alignment-baseline", "anchor-point", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "appearance", "azimuth", "backface-visibility", "background", "background-attachment", "background-blend-mode", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "baseline-shift", "binding", "bleed", "bookmark-label", "bookmark-level", "bookmark-state", "bookmark-target", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "clear", "clip", "color", "color-profile", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "content", "counter-increment", "counter-reset", "crop", "cue", "cue-after", "cue-before", "cursor", "custom","custom-textbox","custom-type","direction", "display", "dominant-baseline", "drop-initial-after-adjust", "drop-initial-after-align", "drop-initial-before-adjust", "drop-initial-before-align", "drop-initial-size", "drop-initial-value", "elevation", "empty-cells", "fit", "fit-position", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "float-offset", "flow-from", "flow-into", "font", "font-feature-settings", "font-family", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-synthesis", "font-variant", "font-variant-alternates", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-weight", "grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-gap", "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-gap", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "hanging-punctuation", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "inline-box-align", "justify-content", "left", "letter-spacing", "line-break", "line-height", "line-stacking", "line-stacking-ruby", "line-stacking-shift", "line-stacking-strategy", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", "marquee-direction", "marquee-loop", "marquee-play-count", "marquee-speed", "marquee-style", "max-height", "max-width", "min-height", "min-width", "move-to", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-style", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page", "page-break-after", "page-break-before", "page-break-inside", "page-policy", "pause", "pause-after", "pause-before", "perspective", "perspective-origin", "pitch", "pitch-range", "play-during", "position", "presentation-level", "punctuation-trim", "quotes", "region-break-after", "region-break-before", "region-break-inside", "region-fragment", "rendering-intent", "resize", "rest", "rest-after", "rest-before", "richness", "right", "rotation", "rotation-point", "ruby-align", "ruby-overhang", "ruby-position", "ruby-span", "shape-image-threshold", "shape-inside", "shape-margin", "shape-outside", "size", "speak", "speak-as", "speak-header", "speak-numeral", "speak-punctuation", "speech-rate", "stress", "string-set", "tab-size", "table-layout", "target", "target-name", "target-new", "target-position", "text-align", "text-align-last", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-skip", "text-decoration-style", "text-emphasis", "text-emphasis-color", "text-emphasis-position", "text-emphasis-style", "text-height", "text-indent", "text-justify", "text-outline", "text-overflow", "text-shadow", "text-size-adjust", "text-space-collapse", "text-transform", "text-underline-position", "text-wrap", "top", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "user-select", "vertical-align", "visibility", "voice-balance", "voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate", "voice-stress", "voice-volume", "volume", "white-space", "widows", "width", "word-break", "word-spacing", "word-wrap", "z-index", "clip-path", "clip-rule", "mask", "enable-background", "filter", "flood-color", "flood-opacity", "lighting-color", "stop-color", "stop-opacity", "pointer-events", "color-interpolation", "color-interpolation-filters", "color-rendering", "fill", "fill-opacity", "fill-rule", "image-rendering", "marker", "marker-end", "marker-mid", "marker-start", "shape-rendering", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "text-rendering", "baseline-shift", "dominant-baseline", "glyph-orientation-horizontal", "glyph-orientation-vertical", "text-anchor", "writing-mode"], - d = e(h), - f = ["scrollbar-arrow-color", "scrollbar-base-color", "scrollbar-dark-shadow-color", "scrollbar-face-color", "scrollbar-highlight-color", "scrollbar-shadow-color", "scrollbar-3d-light-color", "scrollbar-track-color", "shape-inside", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button", "searchfield-results-decoration", "zoom"], - p = e(f), - g = ["font-family", "src", "unicode-range", "font-variant", "font-feature-settings", "font-stretch", "font-weight", "font-style"], - m = e(g), - v = ["additive-symbols", "fallback", "negative", "pad", "prefix", "range", "speak-as", "suffix", "symbols", "system"], - y = e(v), - b = ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "grey", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen"], - x = e(b), - w = ["above", "absolute", "activeborder", "additive", "activecaption", "afar", "after-white-space", "ahead", "alias", "all", "all-scroll", "alphabetic", "alternate", "always", "amharic", "amharic-abegede", "antialiased", "appworkspace", "arabic-indic", "armenian", "asterisks", "attr", "auto", "avoid", "avoid-column", "avoid-page", "avoid-region", "background", "backwards", "baseline", "below", "bidi-override", "binary", "bengali", "blink", "block", "block-axis", "bold", "bolder", "border", "border-box", "both", "bottom", "break", "break-all", "break-word", "bullets", "button", "button-bevel", "buttonface", "buttonhighlight", "buttonshadow", "buttontext", "calc", "cambodian", "capitalize", "caps-lock-indicator", "caption", "captiontext", "caret", "cell", "center", "checkbox", "circle", "cjk-decimal", "cjk-earthly-branch", "cjk-heavenly-stem", "cjk-ideographic", "clear", "clip", "close-quote", "col-resize", "collapse", "color", "color-burn", "color-dodge", "column", "column-reverse", "compact", "condensed", "contain", "content", "content-box", "context-menu", "continuous", "copy", "counter", "counters", "cover", "crop", "cross", "crosshair", "currentcolor", "cursive", "cyclic", "darken", "dashed", "decimal", "decimal-leading-zero", "default", "default-button", "dense", "destination-atop", "destination-in", "destination-out", "destination-over", "devanagari", "difference", "disc", "discard", "disclosure-closed", "disclosure-open", "document", "dot-dash", "dot-dot-dash", "dotted", "double", "down", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out", "element", "ellipse", "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede", "ethiopic-abegede-am-et", "ethiopic-abegede-gez", "ethiopic-abegede-ti-er", "ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er", "ethiopic-halehame-aa-et", "ethiopic-halehame-am-et", "ethiopic-halehame-gez", "ethiopic-halehame-om-et", "ethiopic-halehame-sid-et", "ethiopic-halehame-so-et", "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig", "ethiopic-numeric", "ew-resize", "exclusion", "expanded", "extends", "extra-condensed", "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "flex", "flex-end", "flex-start", "footnotes", "forwards", "from", "geometricPrecision", "georgian", "graytext", "grid", "groove", "gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hard-light", "hebrew", "help", "hidden", "hide", "higher", "highlight", "highlighttext", "hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "hue", "icon", "ignore", "inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline", "inline-axis", "inline-block", "inline-flex", "inline-grid", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "japanese-formal", "japanese-informal", "justify", "kannada", "katakana", "katakana-iroha", "keep-all", "khmer", "korean-hangul-formal", "korean-hanja-formal", "korean-hanja-informal", "landscape", "lao", "large", "larger", "left", "level", "lighter", "lighten", "line-through", "linear", "linear-gradient", "lines", "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek", "lower-hexadecimal", "lower-latin", "lower-norwegian", "lower-roman", "lowercase", "ltr", "luminosity", "malayalam", "match", "matrix", "matrix3d", "media-controls-background", "media-current-time-display", "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button", "media-rewind-button", "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display", "media-volume-slider", "media-volume-slider-container", "media-volume-sliderthumb", "medium", "menu", "menulist", "menulist-button", "menulist-text", "menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic", "mix", "mongolian", "monospace", "move", "multiple", "multiply", "myanmar", "n-resize", "narrower", "ne-resize", "nesw-resize", "no-close-quote", "no-drop", "no-open-quote", "no-repeat", "none", "normal", "not-allowed", "nowrap", "ns-resize", "numbers", "numeric", "nw-resize", "nwse-resize", "oblique", "octal", "open-quote", "optimizeLegibility", "optimizeSpeed", "oriya", "oromo", "outset", "outside", "outside-shape", "overlay", "overline", "padding", "padding-box", "painted", "page", "paused", "persian", "perspective", "plus-darker", "plus-lighter", "pointer", "polygon", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d", "progress", "push-button", "radial-gradient", "radio", "read-only", "read-write", "read-write-plaintext-only", "rectangle", "region", "relative", "repeat", "repeating-linear-gradient", "repeating-radial-gradient", "repeat-x", "repeat-y", "reset", "reverse", "rgb", "rgba", "ridge", "right", "rotate", "rotate3d", "rotateX", "rotateY", "rotateZ", "round", "row", "row-resize", "row-reverse", "rtl", "run-in", "running", "s-resize", "sans-serif", "saturation", "scale", "scale3d", "scaleX", "scaleY", "scaleZ", "screen", "scroll", "scrollbar", "se-resize", "searchfield", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button", "searchfield-results-decoration", "semi-condensed", "semi-expanded", "separate", "serif", "show", "sidama", "simp-chinese-formal", "simp-chinese-informal", "single", "skew", "skewX", "skewY", "skip-white-space", "slide", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow", "small", "small-caps", "small-caption", "smaller", "soft-light", "solid", "somali", "source-atop", "source-in", "source-out", "source-over", "space", "space-around", "space-between", "spell-out", "square", "square-button", "start", "static", "status-bar", "stretch", "stroke", "sub", "subpixel-antialiased", "super", "sw-resize", "symbolic", "symbols", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row", "table-row-group", "tamil", "telugu", "text", "text-bottom", "text-top", "textarea", "textfield", "thai", "thick", "thin", "threeddarkshadow", "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "tibetan", "tigre", "tigrinya-er", "tigrinya-er-abegede", "tigrinya-et", "tigrinya-et-abegede", "to", "top", "trad-chinese-formal", "trad-chinese-informal", "translate", "translate3d", "translateX", "translateY", "translateZ", "transparent", "ultra-condensed", "ultra-expanded", "underline", "up", "upper-alpha", "upper-armenian", "upper-greek", "upper-hexadecimal", "upper-latin", "upper-norwegian", "upper-roman", "uppercase", "urdu", "url", "var", "vertical", "vertical-text", "visible", "visibleFill", "visiblePainted", "visibleStroke", "visual", "w-resize", "wait", "wave", "wider", "window", "windowframe", "windowtext", "words", "wrap", "wrap-reverse", "x-large", "x-small", "xor", "xx-large", "xx-small"], - C = e(w), - k = n.concat(s).concat(a).concat(c).concat(h).concat(f).concat(b).concat(w); - t.registerHelper("hintWords", "css", k), t.defineMIME("text/css", { - documentTypes: r, - mediaTypes: o, - mediaFeatures: l, - mediaValueKeywords: u, - propertyKeywords: d, - nonStandardPropertyKeywords: p, - fontProperties: m, - counterDescriptors: y, - colorKeywords: x, - valueKeywords: C, - tokenHooks: { - "/": function(t, e) { - return !!t.eat("*") && (e.tokenize = i, i(t, e)) - } - }, - name: "css" - }), t.defineMIME("text/x-scss", { - mediaTypes: o, - mediaFeatures: l, - mediaValueKeywords: u, - propertyKeywords: d, - nonStandardPropertyKeywords: p, - colorKeywords: x, - valueKeywords: C, - fontProperties: m, - allowNested: !0, - tokenHooks: { - "/": function(t, e) { - return t.eat("/") ? (t.skipToEnd(), ["comment", "comment"]) : t.eat("*") ? (e.tokenize = i, i(t, e)) : ["operator", "operator"] - }, - ":": function(t) { - return !!t.match(/\s*\{/) && [null, "{"] - }, - $: function(t) { - return t.match(/^[\w-]+/), t.match(/^\s*:/, !1) ? ["variable-2", "variable-definition"] : ["variable-2", "variable"] - }, - "#": function(t) { - return !!t.eat("{") && [null, "interpolation"] - } - }, - name: "css", - helperType: "scss" - }), t.defineMIME("text/x-less", { - mediaTypes: o, - mediaFeatures: l, - mediaValueKeywords: u, - propertyKeywords: d, - nonStandardPropertyKeywords: p, - colorKeywords: x, - valueKeywords: C, - fontProperties: m, - allowNested: !0, - tokenHooks: { - "/": function(t, e) { - return t.eat("/") ? (t.skipToEnd(), ["comment", "comment"]) : t.eat("*") ? (e.tokenize = i, i(t, e)) : ["operator", "operator"] - }, - "@": function(t) { - return t.eat("{") ? [null, "interpolation"] : !t.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/, !1) && (t.eatWhile(/[\w\\\-]/), t.match(/^\s*:/, !1) ? ["variable-2", "variable-definition"] : ["variable-2", "variable"]) - }, - "&": function() { - return ["atom", "atom"] - } - }, - name: "css", - helperType: "less" - }), t.defineMIME("text/x-gss", { - documentTypes: r, - mediaTypes: o, - mediaFeatures: l, - propertyKeywords: d, - nonStandardPropertyKeywords: p, - fontProperties: m, - counterDescriptors: y, - colorKeywords: x, - valueKeywords: C, - supportsAtComponent: !0, - tokenHooks: { - "/": function(t, e) { - return !!t.eat("*") && (e.tokenize = i, i(t, e)) - } - }, - name: "css", - helperType: "gss" - }) - }) - }, function(t, e, i) { - ! function(e) { - function i(t, e) { - for (var i = t.length; i--;) - if (t[i] === e) return i; - return -1 - } - - function n(t, e) { - if (t.length != e.length) return !1; - for (var i = 0; i < t.length; i++) - if (t[i] !== e[i]) return !1; - return !0 - } - - function r(t) { - for (x in C) C[x] = t[P[x]] - } - - function s(t) { - var e, n, s, o, a, c; - if (e = t.keyCode, -1 == i(E, e) && E.push(e), 93 != e && 224 != e || (e = 91), e in C) { - C[e] = !0; - for (s in S) S[s] == e && (l[s] = !0) - } else if (r(t), l.filter.call(this, t) && e in w) - for (c = p(), o = 0; o < w[e].length; o++) - if (n = w[e][o], n.scope == c || "all" == n.scope) { - a = n.mods.length > 0; - for (s in C)(!C[s] && i(n.mods, +s) > -1 || C[s] && -1 == i(n.mods, +s)) && (a = !1); - (0 != n.mods.length || C[16] || C[18] || C[17] || C[91]) && !a || !1 === n.method(t, n) && (t.preventDefault ? t.preventDefault() : t.returnValue = !1, t.stopPropagation && t.stopPropagation(), t.cancelBubble && (t.cancelBubble = !0)) - } - } - - function o(t) { - var e, n = t.keyCode, - r = i(E, n); - if (r >= 0 && E.splice(r, 1), 93 != n && 224 != n || (n = 91), n in C) { - C[n] = !1; - for (e in S) S[e] == n && (l[e] = !1) - } - } - - function a() { - for (x in C) C[x] = !1; - for (x in S) l[x] = !1 - } - - function l(t, e, i) { - var n, r; - n = m(t), void 0 === i && (i = e, e = "all"); - for (var s = 0; s < n.length; s++) r = [], t = n[s].split("+"), t.length > 1 && (r = v(t), t = [t[t.length - 1]]), t = t[0], t = M(t), t in w || (w[t] = []), w[t].push({ - shortcut: n[s], - scope: e, - method: i, - key: n[s], - mods: r - }) - } - - function c(t, e) { - var i, r, s, o, a, l = []; - for (i = m(t), o = 0; o < i.length; o++) { - if (r = i[o].split("+"), r.length > 1 && (l = v(r), t = r[r.length - 1]), t = M(t), void 0 === e && (e = p()), !w[t]) return; - for (s = 0; s < w[t].length; s++) a = w[t][s], a.scope === e && n(a.mods, l) && (w[t][s] = {}) - } - } - - function u(t) { - return "string" == typeof t && (t = M(t)), -1 != i(E, t) - } - - function h() { - return E.slice(0) - } - - function d(t) { - var e = (t.target || t.srcElement).tagName; - return !("INPUT" == e || "SELECT" == e || "TEXTAREA" == e) - } - - function f(t) { - k = t || "all" - } - - function p() { - return k || "all" - } - - function g(t) { - var e, i, n; - for (e in w) - for (i = w[e], n = 0; n < i.length;) i[n].scope === t ? i.splice(n, 1) : n++ - } - - function m(t) { - var e; - return t = t.replace(/\s/g, ""), e = t.split(","), "" == e[e.length - 1] && (e[e.length - 2] += ","), e - } - - function v(t) { - for (var e = t.slice(0, t.length - 1), i = 0; i < e.length; i++) e[i] = S[e[i]]; - return e - } - - function y(t, e, i) { - t.addEventListener ? t.addEventListener(e, i, !1) : t.attachEvent && t.attachEvent("on" + e, function() { - i(window.event) - }) - } - - function b() { - var t = e.key; - return e.key = $, t - } - var x, w = {}, - C = { - 16: !1, - 18: !1, - 17: !1, - 91: !1 - }, - k = "all", - S = { - "⇧": 16, - shift: 16, - "⌥": 18, - alt: 18, - option: 18, - "⌃": 17, - ctrl: 17, - control: 17, - "⌘": 91, - command: 91 - }, - T = { - backspace: 8, - tab: 9, - clear: 12, - enter: 13, - return: 13, - esc: 27, - escape: 27, - space: 32, - left: 37, - up: 38, - right: 39, - down: 40, - del: 46, - delete: 46, - home: 36, - end: 35, - pageup: 33, - pagedown: 34, - ",": 188, - ".": 190, - "/": 191, - "`": 192, - "-": 189, - "=": 187, - ";": 186, - "'": 222, - "[": 219, - "]": 221, - "\\": 220 - }, - M = function(t) { - return T[t] || t.toUpperCase().charCodeAt(0) - }, - E = []; - for (x = 1; x < 20; x++) T["f" + x] = 111 + x; - var P = { - 16: "shiftKey", - 18: "altKey", - 17: "ctrlKey", - 91: "metaKey" - }; - for (x in S) l[x] = !1; - y(document, "keydown", function(t) { - s(t) - }), y(document, "keyup", o), y(window, "focus", a); - var $ = e.key; - e.key = l, e.key.setScope = f, e.key.getScope = p, e.key.deleteScope = g, e.key.filter = d, e.key.isPressed = u, e.key.getPressedKeyCodes = h, e.key.noConflict = b, e.key.unbind = c, t.exports = l - }(this) - }, function(t, e) { - var i; - i = function() { - return this - }(); - try { - i = i || Function("return this")() || (0, eval)("this") - } catch (t) { - "object" == typeof window && (i = window) - } - t.exports = i - }, function(t, e, i) { - "use strict"; - t.exports = function(t) { - var e = i(132), - n = i(129), - r = i(152), - s = new r, - o = []; - return { - editors: o, - plugins: s, - init: function(t) { - var i = t || {}, - r = i.container; - for (var a in e) a in i || (i[a] = e[a]); - if (!r) throw new Error("'container' is required"); - i.el = document.querySelector(r); - var l = new n(i).init(); - s.getAll(); - return i.plugins.forEach(function(t) { - var e = s.get(t); - e ? e(l, i.pluginsOpts[t] || {}) : console.warn("Plugin " + t + " not found") - }), i.autorender && l.render(), o.push(l), l - } - } - }() - }, function(t, e, i) { - "use strict"; - t.exports = { - assets: [], - stylePrefix: "am-", - upload: "http://localhost/assets/upload", - uploadText: "Drop files here or click to upload", - addBtnText: "Add image", - uploadFile: "" - } - }, function(t, e, i) { - "use strict"; - t.exports = function() { - var t, e, n, r = {}, - s = i(47), - o = i(49), - a = i(14); - return { - name: "AssetManager", - storageKey: "assets", - init: function(l) { - r = l || {}; - var c = i(44); - for (var u in c) u in r || (r[u] = c[u]); - var h = r.pStylePrefix; - h && (r.stylePrefix = h + r.stylePrefix), t = new s(r.assets); - var d = { - collection: t, - config: r - }; - return e = new o(d), n = new a(d), this - }, - add: function(e) { - return t.add(e) - }, - get: function(e) { - return t.where({ - src: e - })[0] - }, - getAll: function() { - return t - }, - remove: function(t) { - var e = this.get(t); - return this.getAll().remove(e), this - }, - store: function(t) { - var e = {}, - i = JSON.stringify(this.getAll().toJSON()); - return e[this.storageKey] = i, !t && r.stm && r.stm.store(e), e - }, - load: function(t) { - var e = t || "", - i = this.storageKey; - !e && r.stm && (e = r.stm.load(i)); - var n = e[i] || []; - if ("string" == typeof n) try { - n = JSON.parse(e[i]) - } catch (t) {} - return n && n.length && this.getAll().reset(n), n - }, - render: function(t) { - return this.rendered && !t || (this.rendered = e.render().$el.add(n.render().$el)), this.rendered - }, - setTarget: function(t) { - e.collection.target = t - }, - onSelect: function(t) { - e.collection.onSelect = t - }, - onClick: function(t) { - r.onClick = t - }, - onDblClick: function(t) { - r.onDblClick = t - } - } - } - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = (i(0), i(12)); - t.exports = n.extend({ - defaults: e.extend({}, n.prototype.defaults, { - type: "image", - unitDim: "px", - height: 0, - width: 0 - }) - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = (i(12), i(46)); - t.exports = n.Collection.extend({ - model: r, - initialize: function(t, e) { - this.model = function(t, e) { - return t.type, new r(t, e) - } - }, - addImg: function(t, e) { - return this.add({ - type: "image", - src: t - }, e), this - }, - add: function(t, e) { - var i = []; - t = t instanceof Array ? t : [t]; - for (var r = 0, s = t.length; r < s; r++) { - var o = t[r]; - if ("string" == typeof o && (o = { - src: o, - type: "image" - }), o && o.src) { - this.where({ - src: o.src - }).length || i.push(o) - } - } - return 1 == i.length && (i = i[0]), n.Collection.prototype.add.apply(this, [i, e]) - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(13); - t.exports = n.extend({ - events: { - click: "handleClick", - dblclick: "handleDblClick" - }, - template: e.template('\n
\n
\n
\n
\n
\n\t
<%= name %>
\n\t
<%= dim %>
\n
\n
\n
\n'), - initialize: function(t) { - n.prototype.initialize.apply(this, arguments), this.className += " " + this.pfx + "asset-image", this.events["click #" + this.pfx + "close"] = "removeItem", this.delegateEvents() - }, - handleClick: function() { - var t = this.config.onClick, - e = this.model; - e.collection.trigger("deselectAll"), this.$el.addClass(this.pfx + "highlight"), "function" == typeof t ? t(e) : this.updateTarget(e.get("src")) - }, - handleDblClick: function() { - var t = this.config.onDblClick, - e = this.model; - "function" == typeof t ? t(e) : this.updateTarget(e.get("src")); - var i = e.collection.onSelect; - "function" == typeof i && i(this.model) - }, - updateTarget: function(t) { - var i = this.model.collection.target; - if (i && i.set) { - var n = e.clone(i.get("attributes")); - i.set("attributes", n), i.set("src", t) - } - }, - removeItem: function(t) { - t.stopPropagation(), this.model.collection.remove(this.model) - }, - render: function() { - var t = this.model.get("name"), - e = this.model.get("width") && this.model.get("height") ? this.model.get("width") + " x " + this.model.get("height") : ""; - return t = t || this.model.get("src").split("/").pop(), t = t && t.length > 30 ? t.substring(0, 30) + "..." : t, e = e ? e + (this.model.get("unitDim") ? this.model.get("unitDim") : " px") : "", this.$el.html(this.template({ - name: t, - src: this.model.get("src"), - dim: e, - pfx: this.pfx, - ppfx: this.ppfx - })), this.$el.attr("class", this.className), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0), - r = i(13), - s = i(48); - i(14); - t.exports = n.View.extend({ - template: e.template('\n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n\n'), - initialize: function(t) { - this.options = t, this.config = t.config, this.pfx = this.config.stylePrefix || "", this.ppfx = this.config.pStylePrefix || "", this.listenTo(this.collection, "add", this.addToAsset), this.listenTo(this.collection, "deselectAll", this.deselectAll), this.listenTo(this.collection, "reset", this.render), this.className = this.pfx + "assets", this.events = {}, this.events.submit = "addFromStr", this.delegateEvents() - }, - addFromStr: function(t) { - t.preventDefault(); - var e = this.getInputUrl(), - i = e.value.trim(); - if (i) return this.collection.addImg(i, { - at: 0 - }), this.getAssetsEl().scrollTop = 0, e.value = "", this - }, - getAssetsEl: function() { - return this.assets = this.el.querySelector("." + this.pfx + "assets"), this.assets - }, - getInputUrl: function() { - return this.inputUrl && this.inputUrl.value || (this.inputUrl = this.el.querySelector("." + this.pfx + "add-asset input")), this.inputUrl - }, - addToAsset: function(t) { - this.addAsset(t) - }, - addAsset: function(t, e) { - var i = e || null, - n = r; - t.get("type").indexOf("image") > -1 && (n = s); - var o = new n({ - model: t, - config: this.config - }), - a = o.render().el; - if (i) i.appendChild(a); - else { - var l = this.getAssetsEl(); - l && l.insertBefore(a, l.firstChild) - } - return a - }, - deselectAll: function() { - this.$el.find("." + this.pfx + "highlight").removeClass(this.pfx + "highlight") - }, - render: function() { - var t = document.createDocumentFragment(); - return this.$el.empty(), this.collection.each(function(e) { - this.addAsset(e, t) - }, this), this.$el.html(this.template({ - pfx: this.pfx, - ppfx: this.ppfx, - btnText: this.config.addBtnText - })), this.$el.find("." + this.pfx + "assets").append(t), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - t.exports = { - blocks: [], - appendTo: "" - } - }, function(t, e, i) { - "use strict"; - t.exports = function() { - var t, e, n = {}, - r = i(50), - s = i(53), - o = i(54), - a = i(56), - l = []; - return { - name: "BlockManager", - init: function(i) { - n = i || {}; - for (var c in r) c in n || (n[c] = r[c]); - return t = new s(n.blocks), l = new o, e = new a({ - collection: t, - categories: l - }, n), this - }, - add: function(e, i) { - var n = i || {}; - return n.id = e, t.add(n) - }, - get: function(e) { - return t.get(e) - }, - getAll: function() { - return t - }, - getCategories: function() { - return l - }, - render: function() { - return e.render().el - } - } - } - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(15); - t.exports = n.Model.extend({ - defaults: { - label: "", - content: "", - category: "", - attributes: {} - }, - initialize: function() { - var t = (arguments.length > 0 && void 0 !== arguments[0] && arguments[0], this.get("category")); - if (t && "string" == typeof t) { - new r({ - id: t, - label: t - }) - } - } - }) - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(52); - t.exports = n.Collection.extend({ - model: r - }) - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.Collection.extend({ - model: i(15) - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0); - t.exports = n.View.extend({ - events: { - mousedown: "onDrag" - }, - initialize: function(t, i) { - e.bindAll(this, "onDrop"), this.config = i || {}, this.ppfx = this.config.pStylePrefix || "", this.listenTo(this.model, "destroy", this.remove), this.doc = $(document) - }, - onDrag: function(t) { - if (0 === t.button && this.config.getSorter) { - this.config.em.refreshCanvas(); - var e = this.config.getSorter(); - e.setDragHelper(this.el, t), e.startSort(this.el), e.setDropContent(this.model.get("content")), this.doc.on("mouseup", this.onDrop) - } - }, - onDrop: function() { - this.doc.off("mouseup", this.onDrop), this.config.getSorter().endMove() - }, - render: function() { - var t = this.ppfx + "block"; - return this.$el.addClass(t), this.el.innerHTML = '
' + this.model.get("label") + "
", this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0), - r = i(55), - s = i(57); - t.exports = n.View.extend({ - initialize: function(t, i) { - e.bindAll(this, "getSorter", "onDrag", "onDrop"), this.config = i || {}, this.categories = t.categories || "", this.renderedCategories = []; - var n = this.config.pStylePrefix || ""; - this.ppfx = n, this.noCatClass = n + "blocks-no-cat", this.blockContClass = n + "blocks-c", this.catsClass = n + "block-categories", this.listenTo(this.collection, "add", this.addTo), this.em = this.config.em, this.tac = "test-tac", this.grabbingCls = this.ppfx + "grabbing", this.em && (this.config.getSorter = this.getSorter, this.canvas = this.em.get("Canvas")) - }, - getSorter: function() { - if (this.em) { - if (!this.sorter) { - var t = this.em.get("Utils"), - e = this.canvas; - this.sorter = new t.Sorter({ - container: e.getBody(), - placer: e.getPlacerEl(), - containerSel: "*", - itemSel: "*", - pfx: this.ppfx, - onStart: this.onDrag, - onEndMove: this.onDrop, - onMove: this.onMove, - document: e.getFrameEl().contentDocument, - direction: "a", - wmargin: 1, - nested: 1, - em: this.em, - canvasRelative: 1 - }) - } - return this.sorter - } - }, - onDrag: function(t) { - this.em.stopDefault(), this.em.trigger("block:drag:start", t) - }, - onMove: function(t) { - this.em.trigger("block:drag:move", t) - }, - onDrop: function(t) { - this.em.runDefault(), t && t.get && (t.get("activeOnRender") && (t.trigger("active"), t.set("activeOnRender", 0)), this.em.initChildrenComp(t)), this.em.trigger("block:drag:stop", t) - }, - addTo: function(t) { - this.add(t) - }, - add: function(t, e) { - var i = e || null, - n = new r({ - model: t, - attributes: t.get("attributes") - }, this.config), - o = n.render().el, - a = t.get("category"); - if (a && this.categories) { - "string" == typeof a && (a = { - id: a, - label: a - }); - var l = this.categories.add(a), - c = l.get("id"), - u = this.renderedCategories[c], - h = this.getCategoriesEl(); - return t.set("category", l), !u && h && (u = new s({ - model: l - }, this.config).render(), this.renderedCategories[c] = u, h.appendChild(u.el)), void(u && u.append(o)) - } - i ? i.appendChild(o) : this.append(o) - }, - getCategoriesEl: function() { - return this.catsEl || (this.catsEl = this.el.querySelector("." + this.catsClass)), this.catsEl - }, - getBlocksEl: function() { - return this.blocksEl || (this.blocksEl = this.el.querySelector("." + this.noCatClass + " ." + this.blockContClass)), this.blocksEl - }, - append: function(t) { - var e = this.getBlocksEl(); - e && e.appendChild(t) - }, - render: function() { - var t = (this.ppfx, document.createDocumentFragment()); - return this.catsEl = null, this.blocksEl = null, this.renderedCategories = [], this.el.innerHTML = '\n
\n
\n
\n
\n ', this.collection.each(function(e) { - this.add(e, t) - }, this), this.append(t), this.$el.addClass(this.blockContClass + "s"), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0); - t.exports = n.View.extend({ - template: e.template('\n
\n \n <%= label %>\n
\n
\n '), - events: {}, - initialize: function() { - var t = (arguments.length > 0 && void 0 !== arguments[0] && arguments[0], arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}); - this.config = t; - var e = this.config.pStylePrefix || ""; - this.pfx = e, this.caretR = "fa fa-caret-right", this.caretD = "fa fa-caret-down", this.iconClass = e + "caret-icon", this.activeClass = e + "open", this.className = e + "block-category", this.events["click ." + e + "title"] = "toggle", this.listenTo(this.model, "change:open", this.updateVisibility), this.delegateEvents() - }, - updateVisibility: function() { - this.model.get("open") ? this.open() : this.close() - }, - open: function() { - this.el.className = this.className + " " + this.activeClass, this.getIconEl().className = this.iconClass + " " + this.caretD, this.getBlocksEl().style.display = "" - }, - close: function() { - this.el.className = this.className, this.getIconEl().className = this.iconClass + " " + this.caretR, this.getBlocksEl().style.display = "none" - }, - toggle: function() { - var t = this.model; - t.set("open", !t.get("open")) - }, - getIconEl: function() { - return this.iconEl || (this.iconEl = this.el.querySelector("." + this.iconClass)), this.iconEl - }, - getBlocksEl: function() { - return this.blocksEl || (this.blocksEl = this.el.querySelector("." + this.pfx + "blocks-c")), this.blocksEl - }, - append: function(t) { - this.getBlocksEl().appendChild(t) - }, - render: function() { - return this.el.innerHTML = this.template({ - pfx: this.pfx, - label: this.model.get("label") - }), this.el.className = this.className, this.updateVisibility(), this - } - }) - }).call(e, i(1)) - }, function(t, e, i) { - "use strict"; - t.exports = { - stylePrefix: "cv-", - rulers: !1, - scripts: [], - styles: [], - customBadgeLabel: "" - } - }, function(t, e, i) { - "use strict"; - t.exports = function() { - var t, e, n = {}, - r = i(58), - s = i(60), - o = i(62); - return { - getCanvasView: function() { - return o - }, - name: "Canvas", - init: function(e) { - n = e || {}; - for (var i in r) i in n || (n[i] = r[i]); - var a = n.pStylePrefix; - a && (n.stylePrefix = a + n.stylePrefix), t = new s(e), o = new o({ - model: t, - config: n - }); - var l = n.em.get("DomComponents"); - return l && this.setWrapper(l), this.startAutoscroll = this.startAutoscroll.bind(this), this.stopAutoscroll = this.stopAutoscroll.bind(this), this.autoscroll = this.autoscroll.bind(this), this - }, - getConfig: function() { - return n - }, - setWrapper: function(e) { - t.set("wrapper", e) - }, - getElement: function() { - return o.el - }, - getFrameEl: function() { - return o.frame.el - }, - getBody: function() { - return o.frame.el.contentDocument.body - }, - getWrapperEl: function() { - return this.getBody().querySelector("#wrapper") - }, - getToolsEl: function() { - return o.toolsEl - }, - getHighlighter: function() { - return o.hlEl - }, - getBadgeEl: function() { - return o.badgeEl - }, - getPlacerEl: function() { - return o.placerEl - }, - getGhostEl: function() { - return o.ghostEl - }, - getToolbarEl: function() { - return o.toolbarEl - }, - getResizerEl: function() { - return o.resizerEl - }, - getOffsetViewerEl: function() { - return o.offsetEl - }, - getFixedOffsetViewerEl: function() { - return o.fixedOffsetEl - }, - render: function() { - return o.render().el - }, - getOffset: function() { - var t = this.offset(this.getFrameEl()), - e = this.offset(this.getElement()); - return { - top: t.top - e.top, - left: t.left - e.left - } - }, - offset: function(t) { - var e = t.getBoundingClientRect(); - return { - top: e.top + document.body.scrollTop, - left: e.left + document.body.scrollLeft - } - }, - setCustomBadgeLabel: function(t) { - n.customBadgeLabel = t - }, - getElementPos: function(t, e) { - return o.getElementPos(t, e) - }, - getTargetToElementDim: function(t, e, i) { - var r = i || {}, - s = o.getPosition(), - a = r.elPos || o.getElementPos(e), - l = i.toRight || 0, - c = r.targetHeight || t.offsetHeight, - u = r.targetWidth || t.offsetWidth, - h = r.event || null, - d = a.top - c, - f = a.left; - f += l ? a.width : 0, f = l ? f - u : f; - var p = f < s.left ? s.left : f, - g = d < s.top ? s.top : d; - g = g > a.top + a.height ? a.top + a.height : g; - var m = { - top: g, - left: p, - elementTop: a.top, - elementLeft: a.left, - elementWidth: a.width, - elementHeight: a.height, - targetWidth: t.offsetWidth, - targetHeight: t.offsetHeight, - canvasTop: s.top, - canvasLeft: s.left - }; - return h && n.em && n.em.trigger(h, m), m - }, - getMouseRelativePos: function(t, e) { - var i = e || {}, - n = 0, - r = 0, - s = i.subWinOffset, - o = t.target.ownerDocument, - a = o.defaultView || o.parentWindow, - l = a.frameElement, - c = s ? a.pageYOffset : 0, - u = s ? a.pageXOffset : 0; - if (l) { - var h = l.getBoundingClientRect(); - n = h.top || 0, r = h.left || 0 - } - return { - y: t.clientY + n - c, - x: t.clientX + r - u - } - }, - getMouseRelativeCanvas: function(t, e) { - var i = this.getFrameEl(), - n = this.getBody(), - r = i.offsetTop || 0, - s = i.offsetLeft || 0, - o = n.scrollTop || 0, - a = n.scrollLeft || 0; - return { - y: t.clientY + r + o, - x: t.clientX + s + a - } - }, - startAutoscroll: function() { - this.dragging = 1; - var t = this.getScrollListeners(); - e = o.getFrameOffset(1), t.on("mousemove", this.autoscroll), t.on("mouseup", this.stopAutoscroll) - }, - autoscroll: function(t) { - if (t.preventDefault(), this.dragging) { - var i = this.getFrameEl().contentWindow, - n = i.document.body.scrollTop, - r = n, - s = t.clientY, - o = e.height - 50; - s < 50 && (r -= 50 - s), s > o && (r += s - o), i.scrollTo(0, r) - } - }, - stopAutoscroll: function() { - this.dragging = 0; - var t = this.getScrollListeners(); - t.off("mousemove", this.autoscroll), t.off("mouseup", this.stopAutoscroll) - }, - getScrollListeners: function() { - return this.scrollListeners || (this.scrollListeners = $(this.getFrameEl().contentWindow, this.getElement())), this.scrollListeners - }, - getFrameWrapperEl: function() { - return o.frame.getWrapper() - } - } - } - }, function(t, e, i) { - "use strict"; - var n = i(0), - r = i(61); - t.exports = n.Model.extend({ - defaults: { - frame: "", - wrapper: "", - rulers: !1 - }, - initialize: function(t) { - var e = this.conf || {}; - this.set("frame", new r(e.frame)) - } - }) - }, function(t, e, i) { - "use strict"; - var n = i(0); - t.exports = n.Model.extend({ - defaults: { - wrapper: "", - width: "", - height: "", - attributes: {} - } - }) - }, function(t, e, i) { - "use strict"; - (function(e) { - var n = i(0), - r = i(63); - t.exports = n.View.extend({ - initialize: function(t) { - e.bindAll(this, "renderBody", "onFrameScroll", "clearOff"), this.config = t.config || {}, this.em = this.config.em || {}, this.ppfx = this.config.pStylePrefix || "", this.className = this.config.stylePrefix + "canvas", this.listenTo(this.em, "change:canvasOffset", this.clearOff), this.frame = new r({ - model: this.model.get("frame"), - config: this.config - }) - }, - onFrameScroll: function() { - var t = this.frame.el.contentDocument.body; - this.toolsEl.style.top = "-" + t.scrollTop + "px", this.toolsEl.style.left = "-" + t.scrollLeft + "px", this.em.trigger("canvasScroll") - }, - renderScripts: function() { - var t = this.frame, - e = this; - t.el.onload = function() { - function i(n) { - if (n.length > 0) { - var r = document.createElement("script"); - r.type = "text/javascript", r.src = n.shift(), r.onerror = r.onload = i.bind(null, n), t.el.contentDocument.head.appendChild(r) - } else e.renderBody() - } - var n = e.config.scripts.slice(0); - i(n) - } - }, - renderBody: function() { - var t = this.model.get("frame").get("wrapper"), - e = this.config.em; - if (t) { - var i = this.ppfx, - n = this.frame.$el.contents().find("body"), - r = e.get("CssComposer"), - s = e.get("Config"), - o = this.config, - a = s.protectedCss, - l = ""; - o.styles.forEach(function(t) { - l += '' - }); - var c = "\n ." + i + "comp-selected{\n outline: 3px solid #3b97e3 !important\n }\n ." + i + "comp-selected-parent{\n outline: 2px solid #ffca6f !important\n }\n ", - u = "\n * {\n box-sizing: border-box;\n }\n html, body, #wrapper {\n min-height: 100%;\n }\n html {\n height: 100%;\n }\n body {\n margin: 0;\n height: auto;\n background-color: #fff\n }\n #wrapper {\n overflow: auto\n }\n ." + i + "dashed :not([contenteditable]) > *[data-highlightable]{outline: 1px dashed rgba(170,170,170,0.7); outline-offset: -2px}" + c + "." + i + "no-select{user-select: none; -webkit-user-select:none; -moz-user-select: none}." + i + "freezed{opacity: 0.5; pointer-events: none}." + i + "no-pointer{pointer-events: none}." + i + "plh-image{background:#f5f5f5; border:none; height:50px; width:50px; display:block; outline:3px solid #ffca6f; cursor:pointer}." + i + "grabbing{cursor: grabbing; cursor: -webkit-grabbing}* ::-webkit-scrollbar-track {background: rgba(0, 0, 0, 0.1)}* ::-webkit-scrollbar-thumb {background: rgba(255, 255, 255, 0.2)}* ::-webkit-scrollbar {width: 10px}" + (s.canvasCss || ""); - u += a || "", l && n.append(l), n.append(""), n.append(t.render()).append(r.render()), n.append(this.getJsContainer()), e.trigger("loaded"), this.frame.el.contentWindow.onscroll = this.onFrameScroll, this.frame.udpateOffset(); - var h = document, - d = this.frame.el.contentDocument; - d.addEventListener("keydown", function(t) { - h.dispatchEvent(new KeyboardEvent(t.type, t)) - }), d.addEventListener("keyup", function(t) { - h.dispatchEvent(new KeyboardEvent(t.type, t)) - }) - } - }, - offset: function(t) { - var e = t.getBoundingClientRect(), - i = t.ownerDocument.body; - return { - top: e.top + i.scrollTop, - left: e.left + i.scrollLeft, - width: e.width, - height: e.height - } - }, - clearOff: function() { - this.frmOff = null, this.cvsOff = null - }, - getFrameOffset: function() { - var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; - return this.frmOff && !t || (this.frmOff = this.offset(this.frame.el)), this.frmOff - }, - getCanvasOffset: function() { - return this.cvsOff || (this.cvsOff = this.offset(this.el)), this.cvsOff - }, - getElementPos: function(t, e) { - var i = e || {}, - n = this.getFrameOffset(), - r = this.getCanvasOffset(), - s = this.offset(t), - o = i.avoidFrameOffset ? 0 : n.top, - a = i.avoidFrameOffset ? 0 : n.left; - return { - top: s.top + o - r.top, - left: s.left + a - r.left, - height: t.offsetHeight, - width: t.offsetWidth - } - }, - getPosition: function() { - var t = this.frame.el.contentDocument.body, - e = this.getFrameOffset(), - i = this.getCanvasOffset(); - return { - top: e.top + t.scrollTop - i.top, - left: e.left + t.scrollLeft - i.left - } - }, - updateScript: function(t) { - t.scriptContainer || (t.scriptContainer = $("
"), this.getJsContainer().append(t.scriptContainer.get(0))); - var e = t.model, - i = e.getId(); - t.el.id = i, t.scriptContainer.html(""), t.scriptContainer.append("', - attributes: { - class: 'fa fa-home', - title: 'Homepage' - }, - category: 'Static Components' - }); - - // Simple logo component - bm.add('logoComponent',{ - label: 'Logo', - content: '', - attributes: { - class: 'fa fa-google', - title: 'Logo' - }, - category: 'Static Components' - }); - - // Static components for page - bm.add('productContents', { - label: 'Product Content', - content: ''+ - '
Our Top Grossing Products
Title one
Subtitle one
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title two
Subtitle two
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title three
Subtitle three
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title four
Subtitle four
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title five
Subtitle five
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title six
Subtitle six
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
BEST PRODUCT OF ALL TIME

Apple iPhone 6s with Free Vodafone RED Plan (Gold, 16GB)

iPhone 6s - Take everything that made the previous generation great, and advance it to a new level. They’re made with 7000 Series aluminium, the strongest alloy we’ve ever used in an iPhone. They both feature Retina HD displays made from the strongest cover glass used on any smartphone in the world. And now they’re available in an elegant new rose gold finish.

A breakthrough design. Pushed even further.

', - attributes: { - class: 'fa fa-file-o', - title: 'Content Block' - }, - category: 'Static Components' - }); - - // bm.add('bootstrapSlider',{ - // label: 'Bootstrap Slider', - // content: '', - // attributes: { - // class: 'fa fa-user', - // title: 'Bootstrap Slider' - // }, - // category: 'Custom Components' - // }); - - // Pre Defined Site Header - bm.add('siteHeader', { - label: 'Header', - content: ''+ - '
', - attributes: { - class: 'fa fa-file-text', - title: 'Header' - }, - category: 'Ecommerce Components' - }); - - // Flipkart Like header - bm.add('siteHeaderNew', { - label: 'Ecommerce Navabr', - content: ''+ - ''+ - '
', - attributes: { - class: 'fa fa-file-code-o', - title: 'Ecommerce Navbar' - }, - category: 'Ecommerce Components' - }); - - // Predefined footer matching with Flipkart like Header - bm.add('footer',{ - label: 'Footer & Copyright', - content: ''+ - '
', - attributes: { - class: 'fa fa-html5', - title: 'Footer & Copyright' - }, - category: 'Ecommerce Components' - }); - - // Dynamic navigation menu from JSON created from menu builder - bm.add('navMenu',{ - label: 'Navbar Menu', - content: ''+ - '', - attributes: { - class: 'fa fa-bars', - title: 'Navigation Menu' - }, - category: 'Ecommerce Components' - }); - - // Lisiting Page sidebar filters - bm.add('filters', { - label: 'Product Filters', - content: ''+ - '', - attributes: { - class: 'fa fa-filter', - title: 'Product Filters' - }, - category: 'Ecommerce Components' - }); - - // Custom droppable block of product listing - bm.add('productListing', { - label: 'Product Listing', - content: ''+ - ''+ - '

Product Title

Product Sescription

US

Save 25% $ 10.99

starting at $ 10.99

'+ - ''+ - '
', - attributes: { - class: 'fa fa-home', - title: 'Homepage' - }, - category: 'Static Components' - }); - - // Header Layout - bm.add('Header-1', { - label: 'Header-1', - content: 'Header-1
', - attributes: { - class: 'fa fa-header', - title: 'Header-1' - }, - category: 'Header' - }); - - // Header Layout - bm.add('Header-2', { - label: 'Header-2', - content: 'Basic Header
', - attributes: { - class: 'fa fa-header', - title: 'Header-2' - }, - category: 'Header' - }); - - // Header Layout - bm.add('Header-3', { - label: 'Header-3', - content: 'Login, Sign up Header', - attributes: { - class: 'fa fa-header', - title: 'Header-3' - }, - category: 'Header' - }); - - // Header Layout - bm.add('Header-4', { - label: 'Header-4', - content: 'Second Bar Header
', - attributes: { - class: 'fa fa-header', - title: 'Header-4' - }, - category: 'Header' - }); - - // Header Layout - bm.add('Header-5', { - label: 'Header-5', - content: 'User Dropdown Header
', - attributes: { - class: 'fa fa-header', - title: 'Header-5' - }, - category: 'Header' - }); - - // Footer Layout - bm.add('Footer-1', { - label: 'Footer-1', - content: 'Distributed Footer', - attributes: { - class: 'fa fa-square-o', - title: 'Footer-1' - }, - category: 'Footer' - }); - - // Footer Layout - bm.add('Footer-2', { - label: 'Footer-2', - content: 'Footer With Address And Phones
', - attributes: { - class: 'fa fa-square-o', - title: 'Footer-2' - }, - category: 'Footer' - }); - - // Footer Layout - bm.add('Footer-3', { - label: 'Footer-3', - content: 'Footer Distributed With Contact Form', - attributes: { - class: 'fa fa-square-o', - title: 'Footer-3' - }, - category: 'Footer' - }); - - // Footer Layout - bm.add('Footer-4', { - label: 'Footer-4', - content: 'Footer with a Search Form', - attributes: { - class: 'fa fa-square-o', - title: 'Footer-4' - }, - category: 'Footer' - }); - - // Footer Layout - bm.add('Footer-5', { - label: 'Footer-5', - content: 'Basic, Centered Footer', - attributes: { - class: 'fa fa-square-o', - title: 'Footer-5' - }, - category: 'Footer' - }); -// Login Layout - bm.add('Login-1', { - label: 'Login-1', - content: ' Login Form ', - attributes: { - class: 'fa fa-user-o', - title: 'Login-1' - }, - category: 'Login' - }); - - // Login Layout - bm.add('Login-2', { - label: 'Login-2', - content: ' ', - attributes: { - class: 'fa fa-user-o', - title: 'Login-2' - }, - category: 'Login' - }); - - // Login Layout - bm.add('Login-3', { - label: 'Login-3', - content: '

Dashboard

Sign In
Sign Up

Forgot your password? Click Here!

', - attributes: { - class: 'fa fa-user-o', - title: 'Login-3' - }, - category: 'Login' - }); - - // Login Layout - bm.add('Login-4', { - label: 'Login-4', - content: ' Simple login form
', - attributes: { - class: 'fa fa-user-o', - title: 'Login-4' - }, - category: 'Login' - }); - - // Search Layout - bm.add('search', { - label: 'search', - content: 'search ', - attributes: { - class: 'fa fa-search', - title: 'search' - }, - category: 'Search' - }); - - // Simple logo component - bm.add('logo',{ - label: 'Logo', - content: '', - attributes: { - class: 'fa fa-google', - title: 'Logo' - }, - category: 'Static Components' - }); - - // Static components for page - bm.add('productContents', { - label: 'Product Content', - content: ''+ - '
Our Top Grossing Products
Title one
Subtitle one
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title two
Subtitle two
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title three
Subtitle three
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title four
Subtitle four
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title five
Subtitle five
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Title six
Subtitle six
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
BEST PRODUCT OF ALL TIME

Apple iPhone 6s with Free Vodafone RED Plan (Gold, 16GB)

iPhone 6s - Take everything that made the previous generation great, and advance it to a new level. They’re made with 7000 Series aluminium, the strongest alloy we’ve ever used in an iPhone. They both feature Retina HD displays made from the strongest cover glass used on any smartphone in the world. And now they’re available in an elegant new rose gold finish.

A breakthrough design. Pushed even further.

', - attributes: { - class: 'fa fa-file-o', - title: 'Content Block' - }, - category: 'Static Components' - }); - - // bm.add('bootstrapSlider',{ - // label: 'Bootstrap Slider', - // content: '', - // attributes: { - // class: 'fa fa-user', - // title: 'Bootstrap Slider' - // }, - // category: 'Custom Components' - // }); - - // Pre Defined Site Header - bm.add('siteHeader', { - label: 'Header', - content: ''+ - '
', - attributes: { - class: 'fa fa-file-text', - title: 'Header' - }, - category: 'Ecommerce Components' - }); - - // Flipkart Like header - bm.add('siteHeaderNew', { - label: 'Ecommerce Navabr', - content: ''+ - ''+ - '
', - attributes: { - class: 'fa fa-file-code-o', - title: 'Ecommerce Navbar' - }, - category: 'Ecommerce Components' - }); - - // Predefined footer matching with Flipkart like Header - bm.add('footer',{ - label: 'Footer & Copyright', - content: ''+ - '
', - attributes: { - class: 'fa fa-html5', - title: 'Footer & Copyright' - }, - category: 'Ecommerce Components' - }); - - // Dynamic navigation menu from JSON created from menu builder - bm.add('navMenu',{ - label: 'Navbar Menu', - content: ''+ - '', - attributes: { - class: 'fa fa-bars', - title: 'Navigation Menu' - }, - category: 'Ecommerce Components' - }); - - // Lisiting Page sidebar filters - bm.add('filters', { - label: 'Product Filters', - content: ''+ - '', - attributes: { - class: 'fa fa-filter', - title: 'Product Filters' - }, - category: 'Ecommerce Components' - }); - - // Custom droppable block of product listing - bm.add('productListing', { - label: 'Product Listing', - content: ''+ - ''+ - '

Product Title

Product Sescription

US

Save 25% $ 10.99

starting at $ 10.99

'+ - ''+ - '