From 74e07c5f5552e03340fb21bbc850287edae00259 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Thu, 9 Nov 2017 21:17:56 -0800 Subject: [PATCH 1/5] Update installation instructions --- README.md | 7 +- package-lock.json | 6019 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 4 +- 3 files changed, 6020 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6eadf51..845e2e4 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,14 @@ ## Install -`npm install` +First install necessary dependencies with `npm install`. +Then run `npm run cert` and follow the instructions at https://github.com/Microsoft/PowerBI-visuals/blob/master/tools/CertificateAddOSX.md. ## Run -`npm start` +Run `npm start` in a terminal. + +The open PowerBI with developer mode enabled and create a developer visual. ## Update Vega diff --git a/package-lock.json b/package-lock.json index 29d349e..8574db5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3,16 +3,217 @@ "requires": true, "lockfileVersion": 1, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.31.tgz", + "integrity": "sha512-yd7CkUughvHQoEahQqcMdrZw6o/6PwUxiRkfZuVDVHCDe77mysD/suoNyk5mK6phTnRW1kyIbPHyCJgxw++LXg==", + "dev": true, + "requires": { + "chalk": "2.3.0", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.31.tgz", + "integrity": "sha512-c+DAyp8LMm2nzSs2uXEuxp4LYGSUYEyHtU3fU57avFChjsnTmmpWmXj2dv0yUxHTEydgVAv5fIzA+4KJwoqWDA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.31", + "@babel/template": "7.0.0-beta.31", + "@babel/traverse": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.31.tgz", + "integrity": "sha512-m7rVVX/dMLbbB9NCzKYRrrFb0qZxgpmQ4Wv6y7zEsB6skoJHRuXVeb/hAFze79vXBbuD63ci7AVHXzAdZSk9KQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.31" + } + }, + "@babel/template": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.31.tgz", + "integrity": "sha512-97IRmLvoDhIDSQkqklVt3UCxJsv0LUEVb/0DzXWtc8Lgiyxj567qZkmTG9aR21CmcJVVIvq2Y/moZj4oEpl5AA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31", + "lodash": "4.11.1" + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.31.tgz", + "integrity": "sha512-3N+VJW+KlezEjFBG7WSYeMyC5kIqVLPb/PGSzCDPFcJrnArluD1GIl7Y3xC7cjKiTq2/JohaLWHVPjJWHlo9Gg==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.31", + "@babel/helper-function-name": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31", + "debug": "3.1.0", + "globals": "10.3.0", + "invariant": "2.2.2", + "lodash": "4.11.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-10.3.0.tgz", + "integrity": "sha512-1g6qO5vMbiPHbRTDtR9JVjRkAhkgH4nSANYGyx1eOfqgxcMnYMMD+7MjmjfzXjwFpVUE/7/NzF+jQxYE7P4r7A==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.31.tgz", + "integrity": "sha512-exAHB+NeFGxkfQ5dSUD03xl3zYGneeSk2Mw2ldTt/nTvYxuDiuSp3DlxgUBgzbdTFG4fbwPk0WtKWOoTXCmNGg==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.11.1", + "to-fast-properties": "2.0.0" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + } + } + }, + "JSONStream": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz", + "integrity": "sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70=", + "dev": true, + "requires": { + "jsonparse": "0.0.5", + "through": "2.3.8" + } + }, "acorn": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==" }, + "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 + } + } + }, + "ajv": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "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" + } + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "optional": true + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true }, "ansi-regex": { "version": "2.1.1", @@ -25,6 +226,145 @@ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "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 + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "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-slice": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.0.0.tgz", + "integrity": "sha1-5zA08A3MH0CHYAj9IP6ud71LfC8=", + "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 + }, + "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 + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true, + "optional": true + }, + "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.30000760", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "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=", + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -44,12 +384,97 @@ } } }, + "babel-eslint": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.0.2.tgz", + "integrity": "sha512-yyl5U088oE+419+BNLJDKVWkUokuPLQeQt9ZTy9uM9kAzbtQgyYL3JkG425B8jxXA7MwTxnDAtRLMKJNH36qjA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.31", + "@babel/traverse": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31" + } + }, + "babylon": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz", + "integrity": "sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ==", + "dev": true + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "dev": true, + "requires": { + "buffers": "0.1.1", + "chainsaw": "0.1.0" + } + }, + "bl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "integrity": "sha1-/FQhoo/UImA2w7OJGmaiW8ZNIm4=", + "dev": true, + "requires": { + "readable-stream": "2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "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 + } + } + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.0" + } + }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", @@ -60,6 +485,17 @@ "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" + } + }, "brfs": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.4.3.tgz", @@ -71,21 +507,111 @@ "through2": "2.0.3" } }, + "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.30000760", + "electron-to-chromium": "1.3.27" + } + }, "buffer-equal": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", + "dev": true + }, + "bufferstreams": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.1.tgz", + "integrity": "sha1-AWE3MGCsWYjv+ZBYcxEU9uGV1R4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3" + } + }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, + "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" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, + "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" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-db": { + "version": "1.0.30000760", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000760.tgz", + "integrity": "sha1-PqKUc+t4psywny63Osnh3r/sUo0=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true, + "optional": true + }, + "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" + } + }, + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "dev": true, + "requires": { + "traverse": "0.3.9" + } + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -99,6 +625,27 @@ "supports-color": "2.0.0" } }, + "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 + }, + "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" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", @@ -109,17 +656,101 @@ "wrap-ansi": "2.1.0" } }, + "clone": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", + "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", + "dev": true + }, + "clone-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz", + "integrity": "sha1-6uCiQT9VwJQvgYwin+/OhF1/Oxw=", + "dev": true, + "requires": { + "is-regexp": "1.0.0", + "is-supported-regexp-flag": "1.0.0" + } + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "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=" }, + "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-diff": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/color-diff/-/color-diff-0.1.7.tgz", + "integrity": "sha1-bbeM2UgqjkWdQIIer0tQMoPcuOI=", + "dev": true + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colorguard": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/colorguard/-/colorguard-1.2.0.tgz", + "integrity": "sha1-8/rK9cquuk71RlPZ+yW7cxd8DYQ=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "color-diff": "0.1.7", + "log-symbols": "1.0.2", + "object-assign": "4.1.1", + "pipetteur": "2.0.3", + "plur": "2.1.2", + "postcss": "5.2.18", + "postcss-reporter": "1.4.1", + "text-table": "0.2.0", + "yargs": "1.3.3" + }, + "dependencies": { + "yargs": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz", + "integrity": "sha1-BU3oth8i7v23IHBZ6u+da4P7kxo=", + "dev": true + } + } + }, "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, "commander": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", @@ -141,11 +772,39 @@ "typedarray": "0.0.6" } }, + "connect": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz", + "integrity": "sha1-ohNh0/QJnvdhzabcSpc7seuwo00=", + "dev": true, + "requires": { + "debug": "2.2.0", + "finalhandler": "0.4.1", + "parseurl": "1.3.2", + "utils-merge": "1.0.0" + } + }, "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": "1.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-1.1.0.tgz", + "integrity": "sha1-DeoPmATv37kp+7GxiOJVU+oFPTc=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "js-yaml": "3.10.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "pinkie-promise": "2.0.1", + "require-from-string": "1.2.1" + } + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -156,6 +815,136 @@ "which": "1.3.0" } }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "optional": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.0" + } + } + } + }, + "css-color-names": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.3.tgz", + "integrity": "sha1-3gzvFvTYqoIioyDVttfpu62nufY=", + "dev": true + }, + "css-rule-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz", + "integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=", + "dev": true, + "requires": { + "css-tokenize": "1.0.1", + "duplexer2": "0.0.2", + "ldjson-stream": "1.2.1", + "through2": "0.6.5" + }, + "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" + } + }, + "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 + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + } + } + }, + "css-tokenize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz", + "integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "1.1.14" + }, + "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 + } + } + }, + "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" + } + }, + "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.35" + } + }, "d3": { "version": "3.5.17", "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", @@ -323,17 +1112,224 @@ "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz", "integrity": "sha1-Fodmfo8TotFYyAwUgMWinLDYlzw=" }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "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" + } + }, + "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" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "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 + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "1.0.3" + } + }, + "del": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.0.tgz", + "integrity": "sha1-mlDwS/NzJeKDtPROmFM2wlJFa9U=", + "dev": true, + "requires": { + "globby": "4.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "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=", + "dev": true + }, + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "deprecated": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", + "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", + "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", + "dev": true, + "requires": { + "fs-exists-sync": "0.1.0" + } + }, "diff": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", "dev": true }, + "doctrine": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + } + } + }, + "doiuse": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/doiuse/-/doiuse-2.6.0.tgz", + "integrity": "sha1-GJLRC2Gpo1at2/K2FJM+gfi7ODQ=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000760", + "css-rule-stream": "1.1.0", + "duplexer2": "0.0.2", + "jsonfilter": "1.1.2", + "ldjson-stream": "1.2.1", + "lodash": "4.11.1", + "multimatch": "2.1.0", + "postcss": "5.2.18", + "source-map": "0.4.4", + "through2": "0.6.5", + "yargs": "3.32.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" + } + } + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, "duplexer2": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", @@ -365,6 +1361,64 @@ } } }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.27", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz", + "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=", + "dev": true + }, + "email-existence": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/email-existence/-/email-existence-0.1.5.tgz", + "integrity": "sha1-AwPbLoWEzAzV6MRukfR/w4QvUFs=", + "dev": true + }, + "end-of-stream": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "dev": true, + "requires": { + "once": "1.3.3" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + } + } + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true, + "optional": true, + "requires": { + "prr": "0.0.0" + } + }, "error-ex": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", @@ -373,6 +1427,88 @@ "is-arrayish": "0.2.1" } }, + "es5-ext": { + "version": "0.10.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "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.35", + "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.35", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "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.35", + "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.35" + } + }, + "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.35", + "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=", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -390,21 +1526,190 @@ "source-map": "0.1.43" } }, + "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.0", + "estraverse": "4.2.0" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } + } + }, + "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.0", + "debug": "2.2.0", + "doctrine": "2.0.0", + "escope": "3.6.0", + "espree": "3.5.1", + "esquery": "1.0.0", + "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.7", + "imurmurhash": "0.1.4", + "inquirer": "0.12.0", + "is-my-json-valid": "2.16.1", + "is-resolvable": "1.0.0", + "js-yaml": "3.10.0", + "json-stable-stringify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.11.1", + "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": { + "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=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "eslint-plugin-no-unsafe-innerhtml": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsafe-innerhtml/-/eslint-plugin-no-unsafe-innerhtml-1.0.16.tgz", + "integrity": "sha1-fQKHjI6b95FriINtWsEitC8VGTI=", + "dev": true, + "requires": { + "eslint": "3.19.0" + } + }, + "eslint-plugin-scanjs-rules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-scanjs-rules/-/eslint-plugin-scanjs-rules-0.1.5.tgz", + "integrity": "sha1-IFU4G2Rs7Jid1bhyIDuuMyGFghk=", + "dev": true, + "requires": { + "babel-eslint": "8.0.2", + "eslint": "3.19.0" + } + }, + "espree": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", + "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", + "dev": true, + "requires": { + "acorn": "5.1.2", + "acorn-jsx": "3.0.1" + } + }, "esprima": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=" }, + "esquery": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "dev": true, + "requires": { + "estraverse": "4.2.0" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, + "requires": { + "estraverse": "4.2.0", + "object-assign": "4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } + } + }, "estraverse": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=" }, + "estraverse-fb": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/estraverse-fb/-/estraverse-fb-1.3.2.tgz", + "integrity": "sha1-0yOky15awzHOoDNBOpJT4WQ+B8Q=", + "dev": true + }, "esutils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=" }, + "etag": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", + "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=", + "dev": true + }, + "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.35" + } + }, "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", @@ -419,6 +1724,69 @@ "strip-eof": "1.0.0" } }, + "execall": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz", + "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", + "dev": true, + "requires": { + "clone-regexp": "1.0.0" + } + }, + "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-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.3" + } + }, + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "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" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, "falafel": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", @@ -437,6 +1805,93 @@ } } }, + "fancy-log": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", + "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "time-stamp": "1.1.0" + } + }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true, + "optional": true + }, + "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=", + "dev": true, + "optional": true + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "finalhandler": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", + "integrity": "sha1-haF8bFmpRxfSYtYSMNSw6+PUoU0=", + "dev": true, + "requires": { + "debug": "2.2.0", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "unpipe": "1.0.0" + } + }, + "find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", + "dev": true + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -446,32 +1901,230 @@ "pinkie-promise": "2.0.1" } }, + "findup-sync": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", + "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", + "dev": true, + "requires": { + "detect-file": "0.1.0", + "is-glob": "2.0.1", + "micromatch": "2.3.11", + "resolve-dir": "0.1.1" + } + }, + "fined": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", + "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "is-plain-object": "2.0.4", + "object.defaults": "1.1.0", + "object.pick": "1.3.0", + "parse-filepath": "1.0.1" + }, + "dependencies": { + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1" + } + } + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "flagged-respawn": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz", + "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=", + "dev": true + }, + "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.0", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "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" + } + }, "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "fresh": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", + "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=", + "dev": true + }, + "fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", + "dev": true + }, + "fs-extra": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.28.0.tgz", + "integrity": "sha1-mhwHCOqMUWkperBv2MuRT1ZHsnI=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fstream": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz", + "integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=", + "dev": true, + "requires": { + "graceful-fs": "3.0.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + }, + "dependencies": { + "graceful-fs": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "1.1.0" + } + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "gather-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gather-stream/-/gather-stream-1.0.0.tgz", + "integrity": "sha1-szmUr0V6gRVwDUEPMXczy+egkEs=", + "dev": true + }, + "gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", + "dev": true, + "requires": { + "globule": "0.1.0" + } + }, + "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=" }, + "get-own-enumerable-property-symbols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz", + "integrity": "sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug==", + "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-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -486,11 +2139,934 @@ "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" + } + }, + "glob-stream": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", + "dev": true, + "requires": { + "glob": "4.5.3", + "glob2base": "0.0.12", + "minimatch": "2.0.10", + "ordered-read-streams": "0.1.0", + "through2": "0.6.5", + "unique-stream": "1.0.0" + }, + "dependencies": { + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.4.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "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 + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + } + } + }, + "glob-watcher": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", + "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", + "dev": true, + "requires": { + "gaze": "0.5.2" + } + }, + "glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "dev": true, + "requires": { + "find-index": "0.1.1" + } + }, + "global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", + "dev": true, + "requires": { + "global-prefix": "0.1.5", + "is-windows": "0.2.0" + } + }, + "global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1", + "ini": "1.3.4", + "is-windows": "0.2.0", + "which": "1.3.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz", + "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "6.0.4", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "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" + } + } + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", + "dev": true + }, + "globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", + "dev": true, + "requires": { + "glob": "3.1.21", + "lodash": "1.0.2", + "minimatch": "0.2.14" + }, + "dependencies": { + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "1.2.3", + "inherits": "1.0.2", + "minimatch": "0.2.14" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + }, + "lodash": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + } + } + }, + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "1.0.0" + } + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, + "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 + }, + "gulp": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.0.tgz", + "integrity": "sha1-zx+6TLVYu4xq5slhP1g64mINIUo=", + "dev": true, + "requires": { + "archy": "1.0.0", + "chalk": "1.1.3", + "deprecated": "0.0.1", + "gulp-util": "3.0.7", + "interpret": "0.6.6", + "liftoff": "2.3.0", + "minimist": "1.2.0", + "orchestrator": "0.3.8", + "pretty-hrtime": "1.0.3", + "semver": "4.3.6", + "tildify": "1.2.0", + "v8flags": "2.1.1", + "vinyl-fs": "0.3.14" + }, + "dependencies": { + "interpret": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz", + "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=", + "dev": true + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + } + } + }, + "gulp-debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/gulp-debug/-/gulp-debug-3.1.0.tgz", + "integrity": "sha1-TakVaLVJFb6ANpbKqsEMiVssCnE=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "gulp-util": "3.0.7", + "plur": "2.1.2", + "stringify-object": "3.2.1", + "through2": "2.0.3", + "tildify": "1.2.0" + } + }, + "gulp-eslint": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-1.1.1.tgz", + "integrity": "sha1-nxY4D1MxchUrN/O1woFkmt+PRmQ=", + "dev": true, + "requires": { + "bufferstreams": "1.1.1", + "eslint": "1.10.3", + "gulp-util": "3.0.7", + "object-assign": "4.1.1" + }, + "dependencies": { + "cli-width": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz", + "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=", + "dev": true + }, + "doctrine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", + "dev": true, + "requires": { + "esutils": "1.1.6", + "isarray": "0.0.1" + }, + "dependencies": { + "esutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", + "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", + "dev": true + } + } + }, + "eslint": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-1.10.3.tgz", + "integrity": "sha1-+xmpGxPBWAgrvKKUsX2Xm8g1Ogo=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "concat-stream": "1.6.0", + "debug": "2.2.0", + "doctrine": "0.7.2", + "escape-string-regexp": "1.0.5", + "escope": "3.6.0", + "espree": "2.2.5", + "estraverse": "4.2.0", + "estraverse-fb": "1.3.2", + "esutils": "2.0.2", + "file-entry-cache": "1.3.1", + "glob": "5.0.15", + "globals": "8.18.0", + "handlebars": "4.0.11", + "inquirer": "0.11.4", + "is-my-json-valid": "2.16.1", + "is-resolvable": "1.0.0", + "js-yaml": "3.4.5", + "json-stable-stringify": "1.0.1", + "lodash.clonedeep": "3.0.2", + "lodash.merge": "3.3.2", + "lodash.omit": "3.1.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "object-assign": "4.1.1", + "optionator": "0.6.0", + "path-is-absolute": "1.0.1", + "path-is-inside": "1.0.2", + "shelljs": "0.5.3", + "strip-json-comments": "1.0.4", + "text-table": "0.2.0", + "user-home": "2.0.0", + "xml-escape": "1.0.0" + } + }, + "espree": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz", + "integrity": "sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=", + "dev": true + }, + "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=", + "dev": true + }, + "fast-levenshtein": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz", + "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=", + "dev": true + }, + "file-entry-cache": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", + "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=", + "dev": true, + "requires": { + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "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" + } + }, + "globals": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz", + "integrity": "sha1-k9SmK9ysOM+vr8R9awNHaMsP/LQ=", + "dev": true + }, + "inquirer": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.11.4.tgz", + "integrity": "sha1-geM3ToNhvq/y2XAWIG01nQsy+k0=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "ansi-regex": "2.1.1", + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-width": "1.1.1", + "figures": "1.7.0", + "lodash": "3.10.1", + "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" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "js-yaml": { + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.5.tgz", + "integrity": "sha1-w0A3l98SuRhmV08t4jZG/oyvtE0=", + "dev": true, + "requires": { + "argparse": "1.0.9", + "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 + } + } + }, + "levn": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz", + "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "optionator": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.6.0.tgz", + "integrity": "sha1-tj7Lvw4xX61LyYJ7Rdx7pFKE/LY=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "1.0.7", + "levn": "0.2.5", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "0.0.3" + } + }, + "shelljs": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", + "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=", + "dev": true + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + } + } + }, + "gulp-help": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/gulp-help/-/gulp-help-1.6.1.tgz", + "integrity": "sha1-Jh2xhuGDl/7z9qLCLpwxW/qIrgw=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "object-assign": "3.0.0" + }, + "dependencies": { + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + } + } + }, + "gulp-stylelint": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/gulp-stylelint/-/gulp-stylelint-0.2.0.tgz", + "integrity": "sha1-glFqip9Xrc4OF9GsWsOKERRKqWk=", + "dev": true, + "requires": { + "gulp-util": "3.0.7", + "postcss": "5.2.18", + "stylelint": "4.5.1", + "through2": "2.0.3" + } + }, + "gulp-stylelint-console-reporter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/gulp-stylelint-console-reporter/-/gulp-stylelint-console-reporter-0.1.0.tgz", + "integrity": "sha1-gPtWnIgfS6aPmE3+RQMxP5g4U5k=", + "dev": true, + "requires": { + "gulp-util": "3.0.7" + } + }, + "gulp-tslint": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/gulp-tslint/-/gulp-tslint-4.3.1.tgz", + "integrity": "sha1-XY84gYJZ5X0xeUgTYASCs5cm8xk=", + "dev": true, + "requires": { + "gulp-util": "3.0.7", + "map-stream": "0.1.0", + "rcloader": "0.2.2", + "through": "2.3.8" + } + }, + "gulp-unzip": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/gulp-unzip/-/gulp-unzip-0.1.3.tgz", + "integrity": "sha1-eRl1gtew2X7nCOc16xEj6v9ikkU=", + "dev": true, + "requires": { + "defaults": "1.0.3", + "gulp-util": "2.2.20", + "through2": "0.4.2", + "unzip": "0.1.11" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "1.1.0", + "escape-string-regexp": "1.0.5", + "has-ansi": "0.1.0", + "strip-ansi": "0.3.0", + "supports-color": "0.2.0" + } + }, + "gulp-util": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz", + "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=", + "dev": true, + "requires": { + "chalk": "0.5.1", + "dateformat": "1.0.12", + "lodash._reinterpolate": "2.4.1", + "lodash.template": "2.4.1", + "minimist": "0.2.0", + "multipipe": "0.1.2", + "through2": "0.5.1", + "vinyl": "0.2.3" + }, + "dependencies": { + "through2": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "3.0.0" + } + } + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "0.2.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", + "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=", + "dev": true + }, + "lodash.escape": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=", + "dev": true, + "requires": { + "lodash._escapehtmlchar": "2.4.1", + "lodash._reunescapedhtml": "2.4.1", + "lodash.keys": "2.4.1" + } + }, + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "dev": true, + "requires": { + "lodash._objecttypes": "2.4.1" + } + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "dev": true, + "requires": { + "lodash._isnative": "2.4.1", + "lodash._shimkeys": "2.4.1", + "lodash.isobject": "2.4.1" + } + }, + "lodash.template": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=", + "dev": true, + "requires": { + "lodash._escapestringchar": "2.4.1", + "lodash._reinterpolate": "2.4.1", + "lodash.defaults": "2.4.1", + "lodash.escape": "2.4.1", + "lodash.keys": "2.4.1", + "lodash.templatesettings": "2.4.1", + "lodash.values": "2.4.1" + } + }, + "lodash.templatesettings": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", + "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=", + "dev": true, + "requires": { + "lodash._reinterpolate": "2.4.1", + "lodash.escape": "2.4.1" + } + }, + "minimist": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz", + "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "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": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "2.1.2" + }, + "dependencies": { + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "0.4.0" + } + } + } + }, + "vinyl": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=", + "dev": true, + "requires": { + "clone-stats": "0.0.1" + } + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true + } + } + }, + "gulp-using": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/gulp-using/-/gulp-using-0.1.0.tgz", + "integrity": "sha1-dzNHX5P/oMITpb88c5exBp0tmgY=", + "dev": true, + "requires": { + "chalk": "0.4.0", + "map-stream": "0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" + } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + } + } + }, + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "1.0.12", + "fancy-log": "1.3.0", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", + "replace-ext": "0.0.1", + "through2": "2.0.3", + "vinyl": "0.5.3" + }, + "dependencies": { + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "1.0.0" + } + }, + "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.6.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "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" + } + }, + "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" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "optional": true, + "requires": { + "ajv": "5.3.0", + "har-schema": "2.0.0" + } + }, "has": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", @@ -508,16 +3084,121 @@ "ansi-regex": "2.1.1" } }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "1.0.0" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "optional": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.0", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "1.0.0" + } + }, "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" }, + "http-errors": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "statuses": "1.2.1" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, "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==" }, + "ignore": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true + }, + "image-size": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz", + "integrity": "sha1-1LTh9hlS5MvBzqmmsMkV/stwdRA=", + "dev": true, + "optional": 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 + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -533,16 +3214,80 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true + }, + "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.11.1", + "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" + } + }, + "interpret": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", + "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "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=" }, + "irregular-plurals": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", + "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=", + "dev": true + }, + "is-absolute": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", + "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", + "dev": true, + "requires": { + "is-relative": "0.2.1", + "is-windows": "0.2.0" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "is-builtin-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", @@ -551,6 +3296,59 @@ "builtin-modules": "1.1.1" } }, + "is-css-color-name": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-css-color-name/-/is-css-color-name-0.1.3.tgz", + "integrity": "sha1-6jtRvJAdiiQ9Msm3hz0GgNu+9/E=", + "dev": true, + "requires": { + "css-color-names": "0.0.2" + }, + "dependencies": { + "css-color-names": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.2.tgz", + "integrity": "sha1-+6GOjP+GV5Vy10nBRsR+6D8OqVU=", + "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": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -559,16 +3357,162 @@ "number-is-nan": "1.0.1" } }, + "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-json-valid": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", + "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.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-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "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.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "requires": { + "is-path-inside": "1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "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-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-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-relative": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", + "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", + "dev": true, + "requires": { + "is-unc-path": "0.1.2" + } + }, + "is-resolvable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "dev": true, + "requires": { + "tryit": "1.0.3" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, + "is-supported-regexp-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz", + "integrity": "sha1-i1IMhfrnolM4LUsCZS4EVXbhO7g=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unc-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", + "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", + "dev": true, + "requires": { + "unc-path-regex": "0.1.2" + } + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -579,12 +3523,71 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, + "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=", + "dev": true + }, + "js-base64": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", + "integrity": "sha512-Y2/+DnfJJXT1/FCwUebUhLWb3QihxiSC42+ctHLGogmW2jPY6LCapMdFZXRvVP2z6qyKW7s6qncE/9gSqZiArw==", + "dev": true + }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + } + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "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=", + "dev": true, + "optional": true + }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", @@ -593,11 +3596,162 @@ "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=", + "dev": true + }, + "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" + } + }, + "jsonfilter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/jsonfilter/-/jsonfilter-1.1.2.tgz", + "integrity": "sha1-Ie987cdRk4E8dZMulqmL4gW6WhE=", + "dev": true, + "requires": { + "JSONStream": "0.8.4", + "minimist": "1.2.0", + "stream-combiner": "0.2.2", + "through2": "0.6.5" + }, + "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" + } + }, + "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 + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + } + } + }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, + "jsonparse": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz", + "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsonschema": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.1.0.tgz", + "integrity": "sha1-A5zCGe1SSwbnHa8SymDQJjn68po=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jszip": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.0.0.tgz", + "integrity": "sha1-vBQVauWdnrO/hZjD5fB5zTsW+Vg=", + "dev": true, + "requires": { + "asap": "2.0.6", + "es6-promise": "3.0.2", + "pako": "1.0.6", + "readable-stream": "2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "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 + } + } + }, + "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", @@ -606,6 +3760,104 @@ "invert-kv": "1.0.0" } }, + "ldjson-stream": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz", + "integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=", + "dev": true, + "requires": { + "split2": "0.2.1", + "through2": "0.6.5" + }, + "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" + } + }, + "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 + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + } + } + }, + "less": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/less/-/less-2.6.1.tgz", + "integrity": "sha1-ZY4B7JrDFJlZxrbfvPvAoXCv2no=", + "dev": true, + "requires": { + "errno": "0.1.4", + "graceful-fs": "4.1.11", + "image-size": "0.4.0", + "mime": "1.4.1", + "mkdirp": "0.5.1", + "promise": "7.3.1", + "request": "2.83.0", + "source-map": "0.5.7" + }, + "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 + } + } + }, + "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" + } + }, + "liftoff": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz", + "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=", + "dev": true, + "requires": { + "extend": "3.0.1", + "findup-sync": "0.4.3", + "fined": "1.1.0", + "flagged-respawn": "0.3.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mapvalues": "4.6.0", + "rechoir": "0.6.2", + "resolve": "1.4.0" + } + }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -634,11 +3886,550 @@ } } }, + "lodash": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.11.1.tgz", + "integrity": "sha1-oyEG644uyOgsJBYRQUdzyd8V+Lw=", + "dev": true + }, + "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._arraymap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz", + "integrity": "sha1-Go/Q9MDfS2HeoHbXF83Jfwo8PmY=", + "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._basedifference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basedifference/-/lodash._basedifference-3.0.3.tgz", + "integrity": "sha1-8sIEKWwqeOArOJCBtu3KyTPPYpw=", + "dev": true, + "requires": { + "lodash._baseindexof": "3.1.0", + "lodash._cacheindexof": "3.0.2", + "lodash._createcache": "3.1.2" + } + }, + "lodash._baseflatten": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz", + "integrity": "sha1-B3D/gBMa9uNPO1EXlqe6UhTmX/c=", + "dev": true, + "requires": { + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "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._baseindexof": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz", + "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "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._cacheindexof": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz", + "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=", + "dev": true + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "dev": true, + "requires": { + "lodash._bindcallback": "3.0.1", + "lodash._isiterateecall": "3.0.9", + "lodash.restparam": "3.6.1" + } + }, + "lodash._createcache": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz", + "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=", + "dev": true, + "requires": { + "lodash._getnative": "3.9.1" + } + }, + "lodash._escapehtmlchar": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=", + "dev": true, + "requires": { + "lodash._htmlescapes": "2.4.1" + } + }, + "lodash._escapestringchar": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", + "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=", + "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._htmlescapes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=", + "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._isnative": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=", + "dev": true + }, + "lodash._objecttypes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=", + "dev": true + }, + "lodash._pickbyarray": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz", + "integrity": "sha1-H4mNlgfrVgsOFnOEt3x8bRCKpMU=", + "dev": true + }, + "lodash._pickbycallback": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz", + "integrity": "sha1-/2G5oBens699MObFPeKK+hm4dQo=", + "dev": true, + "requires": { + "lodash._basefor": "3.0.3", + "lodash.keysin": "3.0.8" + } + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._reunescapedhtml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=", + "dev": true, + "requires": { + "lodash._htmlescapes": "2.4.1", + "lodash.keys": "2.4.1" + }, + "dependencies": { + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "dev": true, + "requires": { + "lodash._objecttypes": "2.4.1" + } + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "dev": true, + "requires": { + "lodash._isnative": "2.4.1", + "lodash._shimkeys": "2.4.1", + "lodash.isobject": "2.4.1" + } + } + } + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash._shimkeys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", + "dev": true, + "requires": { + "lodash._objecttypes": "2.4.1" + } + }, "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, + "lodash.clonedeep": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz", + "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=", + "dev": true, + "requires": { + "lodash._baseclone": "3.3.0", + "lodash._bindcallback": "3.0.1" + } + }, + "lodash.defaults": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=", + "dev": true, + "requires": { + "lodash._objecttypes": "2.4.1", + "lodash.keys": "2.4.1" + }, + "dependencies": { + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "dev": true, + "requires": { + "lodash._objecttypes": "2.4.1" + } + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "dev": true, + "requires": { + "lodash._isnative": "2.4.1", + "lodash._shimkeys": "2.4.1", + "lodash.isobject": "2.4.1" + } + } + } + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "3.0.1" + } + }, + "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.isfunction": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.8.tgz", + "integrity": "sha1-TbcJ/IG8So/XEnpFilNGxc3OLGs=", + "dev": true + }, + "lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=", + "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.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "dev": true + }, + "lodash.istypedarray": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz", + "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=", + "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": "3.0.8", + "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz", + "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=", + "dev": true, + "requires": { + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.merge": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-3.3.2.tgz", + "integrity": "sha1-DZDZPtY3sYeEN7s+IWASYNev6ZQ=", + "dev": true, + "requires": { + "lodash._arraycopy": "3.0.0", + "lodash._arrayeach": "3.0.0", + "lodash._createassigner": "3.1.1", + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4", + "lodash.isplainobject": "3.2.0", + "lodash.istypedarray": "3.0.6", + "lodash.keys": "3.1.2", + "lodash.keysin": "3.0.8", + "lodash.toplainobject": "3.0.0" + }, + "dependencies": { + "lodash.isplainobject": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz", + "integrity": "sha1-moI4rhayAEMpYM1zRlEtASP79MU=", + "dev": true, + "requires": { + "lodash._basefor": "3.0.3", + "lodash.isarguments": "3.1.0", + "lodash.keysin": "3.0.8" + } + } + } + }, + "lodash.omit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-3.1.0.tgz", + "integrity": "sha1-iX/jguZBPZrJfGH3jtHgV6AK+fM=", + "dev": true, + "requires": { + "lodash._arraymap": "3.0.0", + "lodash._basedifference": "3.0.3", + "lodash._baseflatten": "3.1.4", + "lodash._bindcallback": "3.0.1", + "lodash._pickbyarray": "3.0.2", + "lodash._pickbycallback": "3.0.0", + "lodash.keysin": "3.0.8", + "lodash.restparam": "3.6.1" + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" + } + }, + "lodash.toplainobject": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz", + "integrity": "sha1-KHkK2ULSk9eKpmOgfs9/UsoEGY0=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash.keysin": "3.0.8" + } + }, + "lodash.values": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", + "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=", + "dev": true, + "requires": { + "lodash.keys": "2.4.1" + }, + "dependencies": { + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "dev": true, + "requires": { + "lodash._objecttypes": "2.4.1" + } + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "dev": true, + "requires": { + "lodash._isnative": "2.4.1", + "lodash._shimkeys": "2.4.1", + "lodash.isobject": "2.4.1" + } + } + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, + "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=", + "dev": true, + "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" + } + }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", @@ -648,6 +4439,102 @@ "yallist": "2.1.2" } }, + "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-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "match-stream": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz", + "integrity": "sha1-mesFAJOzTf+t5CG5rAtBCpz6F88=", + "dev": true, + "requires": { + "buffers": "0.1.1", + "readable-stream": "1.0.34" + }, + "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" + } + }, + "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 + } + } + }, + "matchdep": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-1.0.1.tgz", + "integrity": "sha1-pXozgESR+64girqPaDgEN6vC3KU=", + "dev": true, + "requires": { + "findup-sync": "0.3.0", + "micromatch": "2.3.11", + "resolve": "1.1.7", + "stack-trace": "0.0.9" + }, + "dependencies": { + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "requires": { + "glob": "5.0.15" + } + }, + "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" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", @@ -656,6 +4543,67 @@ "mimic-fn": "1.1.0" } }, + "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" + } + }, + "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" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true, + "optional": true + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true, + "requires": { + "mime-db": "1.30.0" + } + }, "mimic-fn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", @@ -675,6 +4623,74 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "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=", + "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 + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + } + }, + "mute-stdout": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz", + "integrity": "sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=", + "dev": true + }, + "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 + }, + "natives": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", + "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=", + "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 + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -686,6 +4702,21 @@ "validate-npm-package-license": "3.0.1" } }, + "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 + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -694,11 +4725,29 @@ "path-key": "2.0.1" } }, + "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=" }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, "object-inspect": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", @@ -709,6 +4758,71 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "1.0.1", + "array-slice": "1.0.0", + "for-own": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "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=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -718,6 +4832,18 @@ "wrappy": "1.0.2" } }, + "onecolor": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-3.0.4.tgz", + "integrity": "sha1-daRvgNpseqpbTarhekcZi9llJJQ=", + "dev": true + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, "optimist": { "version": "0.3.7", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", @@ -726,6 +4852,51 @@ "wordwrap": "0.0.3" } }, + "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" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, + "orchestrator": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", + "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", + "dev": true, + "requires": { + "end-of-stream": "0.1.5", + "sequencify": "0.0.7", + "stream-consume": "0.1.0" + } + }, + "ordered-read-streams": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", + "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", + "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", @@ -734,6 +4905,12 @@ "lcid": "1.0.0" } }, + "over": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/over/-/over-0.0.5.tgz", + "integrity": "sha1-8phS5w/X4l82DgE6jsRMgq7bVwg=", + "dev": true + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -752,6 +4929,35 @@ "p-limit": "1.1.0" } }, + "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 + }, + "parse-filepath": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz", + "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=", + "dev": true, + "requires": { + "is-absolute": "0.2.6", + "map-cache": "0.2.2", + "path-root": "0.1.1" + } + }, + "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", @@ -760,6 +4966,18 @@ "error-ex": "1.3.1" } }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -774,6 +4992,12 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "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", @@ -784,6 +5008,21 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "0.1.2" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", @@ -794,6 +5033,13 @@ "pinkie-promise": "2.0.1" } }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true, + "optional": true + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -812,21 +5058,616 @@ "pinkie": "2.0.4" } }, + "pipetteur": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pipetteur/-/pipetteur-2.0.3.tgz", + "integrity": "sha1-GVV2CVno0aEcsqUOyD7sRwYz5J8=", + "dev": true, + "requires": { + "onecolor": "3.0.4", + "synesthesia": "1.0.1" + } + }, + "plur": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", + "dev": true, + "requires": { + "irregular-plurals": "1.4.0" + } + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "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.3.2", + "source-map": "0.5.7", + "supports-color": "3.2.3" + }, + "dependencies": { + "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 + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "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-reporter": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.4.1.tgz", + "integrity": "sha1-wTbwpbFhkV83ndN2XGEHX357mvI=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "lodash": "4.11.1", + "log-symbols": "1.0.2", + "postcss": "5.2.18" + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "dev": true + }, + "postcss-scss": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-0.1.9.tgz", + "integrity": "sha1-dgbK/2S7SzS3YFq3SVdM942Iawg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-selector-parser": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-1.3.3.tgz", + "integrity": "sha1-0u4Z33pk+O8hwacchvfUg1yIwoE=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, + "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 + }, + "powerbi-visuals-package-validator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/powerbi-visuals-package-validator/-/powerbi-visuals-package-validator-1.0.0.tgz", + "integrity": "sha1-ewqvHqulRC87goa12zJEY1KRS9Q=", + "dev": true, + "requires": { + "del": "2.2.0", + "email-existence": "0.1.5", + "eslint": "3.19.0", + "eslint-plugin-no-unsafe-innerhtml": "1.0.16", + "eslint-plugin-scanjs-rules": "0.1.5", + "glob": "7.0.3", + "gulp": "3.9.0", + "gulp-cli": "1.2.2", + "gulp-debug": "3.1.0", + "gulp-eslint": "1.1.1", + "gulp-help": "1.6.1", + "gulp-stylelint": "0.2.0", + "gulp-stylelint-console-reporter": "0.1.0", + "gulp-tslint": "4.3.1", + "gulp-unzip": "0.1.3", + "gulp-using": "0.1.0", + "gulp-util": "3.0.7", + "image-size": "0.3.5", + "jsonschema": "1.0.1", + "request": "2.69.0", + "run-sequence": "1.1.2", + "tslint": "3.3.0", + "typescript": "1.7.5", + "yargs": "3.32.0" + }, + "dependencies": { + "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 + }, + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "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" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "findup-sync": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.2.1.tgz", + "integrity": "sha1-4KkKRQB1xJRm7lE3MgV1FLgeh4w=", + "dev": true, + "requires": { + "glob": "4.3.5" + }, + "dependencies": { + "glob": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz", + "integrity": "sha1-gPuwjKVA8jiszl0R0em8QedRc9M=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.4.0" + } + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + } + } + }, + "form-data": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", + "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=", + "dev": true, + "requires": { + "async": "2.6.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "glob": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz", + "integrity": "sha1-CqI1kxpKlqwT1g/6wvuHe9btT1g=", + "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" + } + }, + "gulp-cli": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-1.2.2.tgz", + "integrity": "sha1-c5Le9jFsbnk5pPKW8/VAFRrjonU=", + "dev": true, + "requires": { + "archy": "1.0.0", + "chalk": "1.1.3", + "fancy-log": "1.3.0", + "gulplog": "1.0.0", + "interpret": "1.0.4", + "liftoff": "2.3.0", + "lodash.isfunction": "3.0.8", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.sortby": "4.7.0", + "matchdep": "1.0.1", + "mute-stdout": "1.0.0", + "pretty-hrtime": "1.0.3", + "semver-greatest-satisfied-range": "1.1.0", + "tildify": "1.2.0", + "v8flags": "2.1.1", + "wreck": "6.3.0", + "yargs": "3.32.0" + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.11.0", + "is-my-json-valid": "2.16.1", + "pinkie-promise": "2.0.1" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "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, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "image-size": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.3.5.tgz", + "integrity": "sha1-gyQOqy+1sAsEqrjHSwRx6cunrYw=", + "dev": true + }, + "jsonschema": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.0.1.tgz", + "integrity": "sha1-XSmTcxHmXWo/Pvmx3qX4u5vx/XU=", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true + }, + "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" + } + }, + "qs": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.4.tgz", + "integrity": "sha1-UQGdhHIMk5uCc36EVWp4Izjs6ns=", + "dev": true + }, + "request": { + "version": "2.69.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.69.0.tgz", + "integrity": "sha1-z5HS4AB1KxIXFVwAUkGRGZGiNGo=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "bl": "1.0.3", + "caseless": "0.11.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "1.0.1", + "har-validator": "2.0.6", + "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.17", + "node-uuid": "1.4.8", + "oauth-sign": "0.8.2", + "qs": "6.0.4", + "stringstream": "0.0.5", + "tough-cookie": "2.2.2", + "tunnel-agent": "0.4.3" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "integrity": "sha1-yDoYMPTl7wuT7yo0iOck+N4Basc=", + "dev": true + }, + "tslint": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-3.3.0.tgz", + "integrity": "sha1-t8/2m1NWyKP6KUfaV3RkAT9AMes=", + "dev": true, + "requires": { + "findup-sync": "0.2.1", + "glob": "6.0.4", + "optimist": "0.6.1", + "underscore.string": "3.1.1" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "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" + } + } + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "typescript": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-1.7.5.tgz", + "integrity": "sha1-qA/CMdm5Wv650Q8FiVYEKN0KBF4=", + "dev": true + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" + } + } + } + }, + "powerbi-visuals-tools": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/powerbi-visuals-tools/-/powerbi-visuals-tools-1.8.1.tgz", + "integrity": "sha1-wpVJlig/+Bki4k+HNQhF4/NyQIM=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.9.0", + "connect": "3.4.1", + "fs-extra": "0.28.0", + "jsonschema": "1.1.0", + "jszip": "3.0.0", + "less": "2.6.1", + "lodash": "4.11.1", + "powerbi-visuals-package-validator": "1.0.0", + "powerbi-visuals-utils-dataviewutils": "1.2.0", + "serve-static": "1.10.2", + "source-map-concat": "1.0.1", + "typescript": "2.1.5", + "uglify-js": "2.6.2", + "uuid": "3.0.0" + }, + "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" + } + }, + "typescript": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.1.5.tgz", + "integrity": "sha1-b+lHngDgGFUkfOohbnVhuvzbzUo=", + "dev": true + } + } + }, "powerbi-visuals-utils-dataviewutils": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/powerbi-visuals-utils-dataviewutils/-/powerbi-visuals-utils-dataviewutils-1.2.0.tgz", "integrity": "sha1-WaHJgzVclYoj2ZAYlPZfFXUZMhM=" }, + "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 + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, + "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" + } + }, + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true, + "optional": true + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, + "pullstream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz", + "integrity": "sha1-1vs79a7Wl+gxFQ6xACwlo/iuExQ=", + "dev": true, + "requires": { + "over": "0.0.5", + "readable-stream": "1.0.34", + "setimmediate": "1.0.5", + "slice-stream": "1.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.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 + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "optional": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true, + "optional": true + }, "quote-stream": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", @@ -837,6 +5678,99 @@ "through2": "2.0.3" } }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "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" + } + } + } + }, + "range-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", + "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=", + "dev": true + }, + "rcfinder": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz", + "integrity": "sha1-8+gPOH3fmugK4wpBADKWQuroERU=", + "dev": true, + "requires": { + "lodash.clonedeep": "4.5.0" + }, + "dependencies": { + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + } + } + }, + "rcloader": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/rcloader/-/rcloader-0.2.2.tgz", + "integrity": "sha1-WNIpi0YtC5v9ITPSoex0+9cFxxc=", + "dev": true, + "requires": { + "lodash.assign": "4.2.0", + "lodash.isobject": "3.0.2", + "lodash.merge": "4.6.0", + "rcfinder": "0.1.9" + }, + "dependencies": { + "lodash.merge": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", + "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=", + "dev": true + } + } + }, + "read-file-stdin": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/read-file-stdin/-/read-file-stdin-0.2.1.tgz", + "integrity": "sha1-JezP86FTtoCa+ssj7hU4fbng7mE=", + "dev": true, + "requires": { + "gather-stream": "1.0.0" + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -870,16 +5804,144 @@ "util-deprecate": "1.0.2" } }, + "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" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "1.4.0" + } + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.1", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + }, + "dependencies": { + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "dev": true, + "optional": true + } + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, + "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=" }, + "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" + } + }, "resolve": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", @@ -888,11 +5950,79 @@ "path-parse": "1.0.5" } }, + "resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", + "dev": true, + "requires": { + "expand-tilde": "1.2.2", + "global-modules": "0.2.3" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "run-sequence": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/run-sequence/-/run-sequence-1.1.2.tgz", + "integrity": "sha1-lhoEDE5hMhJDBvquD1TzdQIBQms=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, "rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, + "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.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -903,11 +6033,71 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "requires": { + "sver-compat": "1.5.0" + } + }, + "send": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.13.1.tgz", + "integrity": "sha1-ow1fTILIqbrprQCh2bG9vm8Zntc=", + "dev": true, + "requires": { + "debug": "2.2.0", + "depd": "1.1.1", + "destroy": "1.0.4", + "escape-html": "1.0.3", + "etag": "1.7.0", + "fresh": "0.3.0", + "http-errors": "1.3.1", + "mime": "1.3.4", + "ms": "0.7.1", + "on-finished": "2.3.0", + "range-parser": "1.0.3", + "statuses": "1.2.1" + }, + "dependencies": { + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "dev": true + } + } + }, + "sequencify": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", + "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", + "dev": true + }, + "serve-static": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.2.tgz", + "integrity": "sha1-/rgA0OciEk3QsAMzFgwW6cqovLM=", + "dev": true, + "requires": { + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.13.1" + } + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, "shallow-copy": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", @@ -948,11 +6138,79 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, + "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.0.4", + "rechoir": "0.6.2" + } + }, + "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=" }, + "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 + }, + "slice-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz", + "integrity": "sha1-WzO9ZvATsaf4ZGCwPUY97DmtPqA=", + "dev": true, + "requires": { + "readable-stream": "1.0.34" + }, + "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" + } + }, + "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 + } + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.0" + } + }, "source-map": { "version": "0.1.43", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", @@ -962,6 +6220,30 @@ "amdefine": "1.0.1" } }, + "source-map-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/source-map-concat/-/source-map-concat-1.0.1.tgz", + "integrity": "sha1-B+ADHiyRVwRl2+v6nSpGg5AFk7M=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "urix": "0.1.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 + } + } + }, + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", @@ -980,6 +6262,85 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" }, + "specificity": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.1.6.tgz", + "integrity": "sha1-qlAQSPluaUhd3JXvn3pbd/ASMqo=", + "dev": true + }, + "split2": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz", + "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=", + "dev": true, + "requires": { + "through2": "0.6.5" + }, + "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" + } + }, + "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 + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + } + } + }, + "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.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "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", + "tweetnacl": "0.14.5" + } + }, + "stack-trace": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", + "dev": true + }, "static-eval": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", @@ -1087,14 +6448,28 @@ } } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "statuses": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", + "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=", + "dev": true + }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "dev": true, "requires": { - "safe-buffer": "5.1.1" + "duplexer": "0.1.1", + "through": "2.3.8" } }, + "stream-consume": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz", + "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", + "dev": true + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -1105,6 +6480,31 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringify-object": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.2.1.tgz", + "integrity": "sha512-jPcQYw/52HUPP8uOE4kkjxl5bB9LfHkKCTptIk3qw7ozP5XMIMlHMLjt00GGSwW6DJAf/njY5EU6Vpwl4LlBKQ==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "2.0.1", + "is-obj": "1.0.1", + "is-regexp": "1.0.0" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -1126,12 +6526,198 @@ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, + "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" + } + }, + "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 + }, + "stylehacks": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-2.3.2.tgz", + "integrity": "sha1-ZMg+BDimjJ7fRJ6MVSp9mrYAmws=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "chalk": "1.1.3", + "log-symbols": "1.0.2", + "minimist": "1.2.0", + "plur": "2.1.2", + "postcss": "5.2.18", + "postcss-reporter": "1.4.1", + "postcss-selector-parser": "2.2.3", + "read-file-stdin": "0.2.1", + "text-table": "0.2.0", + "write-file-stdout": "0.0.2" + }, + "dependencies": { + "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" + } + } + } + }, + "stylelint": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-4.5.1.tgz", + "integrity": "sha1-6KoFY02s1J+3hYp2tlBRd8e4SV0=", + "dev": true, + "requires": { + "autoprefixer": "6.7.7", + "balanced-match": "0.3.0", + "chalk": "1.1.3", + "colorguard": "1.2.0", + "cosmiconfig": "1.1.0", + "doiuse": "2.6.0", + "execall": "1.0.0", + "get-stdin": "5.0.1", + "globby": "4.1.0", + "globjoin": "0.1.4", + "is-css-color-name": "0.1.3", + "lodash": "4.11.1", + "meow": "3.7.0", + "multimatch": "2.1.0", + "postcss": "5.2.18", + "postcss-reporter": "1.4.1", + "postcss-resolve-nested-selector": "0.1.1", + "postcss-scss": "0.1.9", + "postcss-selector-parser": "1.3.3", + "postcss-value-parser": "3.3.0", + "resolve-from": "2.0.0", + "specificity": "0.1.6", + "stylehacks": "2.3.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz", + "integrity": "sha1-qRzdHr7xqGZZ5w/03vAWJfwtZ1Y=", + "dev": true + }, + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "dev": true + } + } + }, "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 }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "synesthesia": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/synesthesia/-/synesthesia-1.0.1.tgz", + "integrity": "sha1-XvlepUjA1cbm+btLDQcx3/hkp3c=", + "dev": true, + "requires": { + "css-color-names": "0.0.3" + } + }, + "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.11.1", + "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" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "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=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "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 + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", @@ -1141,6 +6727,27 @@ "xtend": "4.0.1" } }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, "topojson": { "version": "1.6.27", "resolved": "https://registry.npmjs.org/topojson/-/topojson-1.6.27.tgz", @@ -1154,6 +6761,34 @@ "shapefile": "0.3.1" } }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "tryit": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", + "dev": true + }, "tslib": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.7.1.tgz", @@ -1186,6 +6821,32 @@ "tslib": "1.7.1" } }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "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" + } + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -1197,11 +6858,198 @@ "integrity": "sha1-A4qV99m7tCCxvzW6MdTFwd0//jQ=", "dev": true }, + "uglify-js": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.2.tgz", + "integrity": "sha1-9QvoikLNOWpiUdxSqzcvccwS/vA=", + "dev": true, + "requires": { + "async": "0.2.10", + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "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" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "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" + } + } + } + }, + "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 + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "underscore.string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.1.1.tgz", + "integrity": "sha1-DN1rytDARv12Y9MF2KeFtdoQ8zU=", + "dev": true + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "unique-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", + "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unzip": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz", + "integrity": "sha1-iXScY7BY19kNYZ+GuYqhU107l/A=", + "dev": true, + "requires": { + "binary": "0.3.0", + "fstream": "0.1.31", + "match-stream": "0.0.2", + "pullstream": "0.4.1", + "readable-stream": "1.0.34", + "setimmediate": "1.0.5" + }, + "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" + } + }, + "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 + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "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" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, + "utils-merge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", + "dev": true + }, + "uuid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", + "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=", + "dev": true + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "1.1.1" + }, + "dependencies": { + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + } + } + }, "validate-npm-package-license": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", @@ -1599,6 +7447,115 @@ "vega-util": "1.5.0" } }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "1.0.3", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + }, + "vinyl-fs": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", + "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", + "dev": true, + "requires": { + "defaults": "1.0.3", + "glob-stream": "3.1.18", + "glob-watcher": "0.0.6", + "graceful-fs": "3.0.11", + "mkdirp": "0.5.1", + "strip-bom": "1.0.0", + "through2": "0.6.5", + "vinyl": "0.4.6" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "1.1.0" + } + }, + "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-bom": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", + "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", + "dev": true, + "requires": { + "first-chunk-stream": "1.0.0", + "is-utf8": "0.2.1" + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "0.2.0", + "clone-stats": "0.0.1" + } + } + } + }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", @@ -1637,6 +7594,54 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "wreck": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/wreck/-/wreck-6.3.0.tgz", + "integrity": "sha1-oTaXafB7u2LWo3gzanhx/Hc8dAs=", + "dev": true, + "requires": { + "boom": "2.10.1", + "hoek": "2.16.3" + }, + "dependencies": { + "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" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + } + } + }, + "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" + } + }, + "write-file-stdout": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/write-file-stdout/-/write-file-stdout-0.0.2.tgz", + "integrity": "sha1-wlLXx8WxtAKJdjDjRTx7/mkNnKE=", + "dev": true + }, + "xml-escape": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.0.0.tgz", + "integrity": "sha1-AJY9aXsq3wwYXE4E5zF0upsojrI=", + "dev": true + }, "xmlhttprequest": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", diff --git a/package.json b/package.json index 01aebfd..fd3ffd9 100644 --- a/package.json +++ b/package.json @@ -6,12 +6,14 @@ "vega-lite": "^2.0.0-rc3" }, "devDependencies": { + "powerbi-visuals-tools": "^1.8.1", "tslint": "^5.7.0", "typescript": "^2.5.2" }, "scripts": { "start": "pbiviz start", "build": "pbiviz package", - "lint": "tslint tsconfig.json" + "lint": "tslint tsconfig.json", + "cert": "pbiviz --install-cert" } } From b669db121aa0719af6fa624dce6365a9017a39f5 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Thu, 9 Nov 2017 21:19:59 -0800 Subject: [PATCH 2/5] Update dependencies --- libs/vega.js | 2702 ++++++++++++++++++++++++++------------------- package-lock.json | 893 ++++++++++----- package.json | 8 +- 3 files changed, 2194 insertions(+), 1409 deletions(-) diff --git a/libs/vega.js b/libs/vega.js index b0c071d..32e53b2 100644 --- a/libs/vega.js +++ b/libs/vega.js @@ -168,6 +168,76 @@ var logger = function(_) { } }; +var peek = function(array) { + return array[array.length - 1]; +}; + +var toNumber = function(_) { + return _ == null || _ === '' ? null : +_; +}; + +function exp(sign) { + return function(x) { return sign * Math.exp(x); }; +} + +function log$1(sign) { + return function(x) { return Math.log(sign * x); }; +} + +function pow(exponent) { + return function(x) { + return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); + }; +} + +function pan(domain, delta, lift, ground) { + var d0 = lift(domain[0]), + d1 = lift(peek(domain)), + dd = (d1 - d0) * delta; + + return [ + ground(d0 - dd), + ground(d1 - dd) + ]; +} + +function panLinear(domain, delta) { + return pan(domain, delta, toNumber, identity); +} + +function panLog(domain, delta) { + var sign = Math.sign(domain[0]); + return pan(domain, delta, log$1(sign), exp(sign)); +} + +function panPow(domain, delta, exponent) { + return pan(domain, delta, pow(exponent), pow(1/exponent)); +} + +function zoom(domain, anchor, scale, lift, ground) { + var d0 = lift(domain[0]), + d1 = lift(peek(domain)), + da = anchor != null ? lift(anchor) : (d0 + d1) / 2; + + return [ + ground(da + (d0 - da) * scale), + ground(da + (d1 - da) * scale) + ]; +} + +function zoomLinear(domain, anchor, scale) { + return zoom(domain, anchor, scale, toNumber, identity); +} + +function zoomLog(domain, anchor, scale) { + var sign = Math.sign(domain[0]); + return zoom(domain, anchor, scale, log$1(sign), exp(sign)); +} + +function zoomPow(domain, anchor, scale, exponent) { + return zoom(domain, anchor, scale, pow(exponent), pow(1/exponent)); +} + var array = function(_) { return _ != null ? (isArray(_) ? _ : [_]) : []; }; @@ -414,14 +484,23 @@ var isRegExp = function(_) { return Object.prototype.toString.call(_) === '[object RegExp]'; }; -var key = function(fields) { - fields = fields ? array(fields) : fields; +var key = function(fields, flat) { + if (fields) { + fields = flat + ? array(fields).map(function(f) { return f.replace(/\\(.)/g, '$1'); }) + : array(fields); + } + var fn = !(fields && fields.length) ? function() { return ''; } : Function('_', 'return \'\'+' + fields.map(function(f) { - return '_[' + splitAccessPath(f).map($).join('][') + ']'; + return '_[' + (flat + ? $(f) + : splitAccessPath(f).map($).join('][') + ) + ']'; }).join('+\'|\'+') + ';'); + return accessor(fn, fields, 'key'); }; @@ -469,10 +548,6 @@ var pad = function(str, length, padchar, align) { : s + repeat(c, n); }; -var peek = function(array) { - return array[array.length - 1]; -}; - var toBoolean = function(_) { return _ == null || _ === '' ? null : !_ || _ === 'false' || _ === '0' ? false : !!_; }; @@ -486,10 +561,6 @@ var toDate = function(_, parser) { return _ == null || _ === '' ? null : parser(_); }; -var toNumber = function(_) { - return _ == null || _ === '' ? null : +_; -}; - var toString = function(_) { return _ == null || _ === '' ? null : _ + ''; }; @@ -1664,6 +1735,12 @@ function hasResponse(xhr) { : xhr.responseText; // "" on error } +var EOL = {}; +var EOF = {}; +var QUOTE = 34; +var NEWLINE = 10; +var RETURN = 13; + function objectConverter(columns) { return new Function("d", "return {" + columns.map(function(name, i) { return JSON.stringify(name) + ": d[" + i + "]"; @@ -1695,7 +1772,7 @@ function inferColumns(rows) { var dsvFormat = function(delimiter) { var reFormat = new RegExp("[\"" + delimiter + "\n\r]"), - delimiterCode = delimiter.charCodeAt(0); + DELIMITER = delimiter.charCodeAt(0); function parse(text, f) { var convert, columns, rows = parseRows(text, function(row, i) { @@ -1707,62 +1784,49 @@ var dsvFormat = function(delimiter) { } function parseRows(text, f) { - var EOL = {}, // sentinel value for end-of-line - EOF = {}, // sentinel value for end-of-file - rows = [], // output rows + var rows = [], // output rows N = text.length, I = 0, // current character index - n = 0, // the current line number - t, // the current token - eol; // is the current token followed by EOL? + n = 0, // current line number + t, // current token + eof = N <= 0, // current token followed by EOF? + eol = false; // current token followed by EOL? + + // Strip the trailing newline. + if (text.charCodeAt(N - 1) === NEWLINE) --N; + if (text.charCodeAt(N - 1) === RETURN) --N; function token() { - if (I >= N) return EOF; // special case: end of file - if (eol) return eol = false, EOL; // special case: end of line + if (eof) return EOF; + if (eol) return eol = false, EOL; - // special case: quotes - var j = I, c; - if (text.charCodeAt(j) === 34) { - var i = j; - while (i++ < N) { - if (text.charCodeAt(i) === 34) { - if (text.charCodeAt(i + 1) !== 34) break; - ++i; - } - } - I = i + 2; - c = text.charCodeAt(i + 1); - if (c === 13) { - eol = true; - if (text.charCodeAt(i + 2) === 10) ++I; - } else if (c === 10) { - eol = true; - } - return text.slice(j + 1, i).replace(/""/g, "\""); + // Unescape quotes. + var i, j = I, c; + if (text.charCodeAt(j) === QUOTE) { + while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE); + if ((i = I) >= N) eof = true; + else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true; + else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; } + return text.slice(j + 1, i - 1).replace(/""/g, "\""); } - // common case: find next delimiter or newline + // Find next delimiter or newline. while (I < N) { - var k = 1; - c = text.charCodeAt(I++); - if (c === 10) eol = true; // \n - else if (c === 13) { eol = true; if (text.charCodeAt(I) === 10) ++I, ++k; } // \r|\r\n - else if (c !== delimiterCode) continue; - return text.slice(j, I - k); + if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true; + else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; } + else if (c !== DELIMITER) continue; + return text.slice(j, i); } - // special case: last token before EOF - return text.slice(j); + // Return last token before EOF. + return eof = true, text.slice(j, N); } while ((t = token()) !== EOF) { - var a = []; - while (t !== EOL && t !== EOF) { - a.push(t); - t = token(); - } - if (f && (a = f(a, n++)) == null) continue; - rows.push(a); + var row = []; + while (t !== EOL && t !== EOF) row.push(t), t = token(); + if (f && (row = f(row, n++)) == null) continue; + rows.push(row); } return rows; @@ -1787,7 +1851,7 @@ var dsvFormat = function(delimiter) { function formatValue(text) { return text == null ? "" - : reFormat.test(text += "") ? "\"" + text.replace(/\"/g, "\"\"") + "\"" + : reFormat.test(text += "") ? "\"" + text.replace(/"/g, "\"\"") + "\"" : text; } @@ -1982,7 +2046,8 @@ var typeParsers = { integer: toNumber, number: toNumber, date: toDate, - string: toString + string: toString, + unknown: identity }; var typeTests = [ @@ -2000,6 +2065,8 @@ var typeList = [ ]; function inferType(values, field$$1) { + if (!values || !values.length) return 'unknown'; + var tests = typeTests.slice(), value, i, n, j; @@ -2664,6 +2731,7 @@ function formatLocale(locale) { "c": null, "d": formatDayOfMonth, "e": formatDayOfMonth, + "f": formatMicroseconds, "H": formatHour24, "I": formatHour12, "j": formatDayOfYear, @@ -2671,9 +2739,13 @@ function formatLocale(locale) { "m": formatMonthNumber, "M": formatMinutes, "p": formatPeriod, + "Q": formatUnixTimestamp, + "s": formatUnixTimestampSeconds, "S": formatSeconds, + "u": formatWeekdayNumberMonday, "U": formatWeekNumberSunday, - "w": formatWeekdayNumber, + "V": formatWeekNumberISO, + "w": formatWeekdayNumberSunday, "W": formatWeekNumberMonday, "x": null, "X": null, @@ -2691,6 +2763,7 @@ function formatLocale(locale) { "c": null, "d": formatUTCDayOfMonth, "e": formatUTCDayOfMonth, + "f": formatUTCMicroseconds, "H": formatUTCHour24, "I": formatUTCHour12, "j": formatUTCDayOfYear, @@ -2698,9 +2771,13 @@ function formatLocale(locale) { "m": formatUTCMonthNumber, "M": formatUTCMinutes, "p": formatUTCPeriod, + "Q": formatUnixTimestamp, + "s": formatUnixTimestampSeconds, "S": formatUTCSeconds, + "u": formatUTCWeekdayNumberMonday, "U": formatUTCWeekNumberSunday, - "w": formatUTCWeekdayNumber, + "V": formatUTCWeekNumberISO, + "w": formatUTCWeekdayNumberSunday, "W": formatUTCWeekNumberMonday, "x": null, "X": null, @@ -2718,6 +2795,7 @@ function formatLocale(locale) { "c": parseLocaleDateTime, "d": parseDayOfMonth, "e": parseDayOfMonth, + "f": parseMicroseconds, "H": parseHour24, "I": parseHour24, "j": parseDayOfYear, @@ -2725,9 +2803,13 @@ function formatLocale(locale) { "m": parseMonthNumber, "M": parseMinutes, "p": parsePeriod, + "Q": parseUnixTimestamp, + "s": parseUnixTimestampSeconds, "S": parseSeconds, + "u": parseWeekdayNumberMonday, "U": parseWeekNumberSunday, - "w": parseWeekdayNumber, + "V": parseWeekNumberISO, + "w": parseWeekdayNumberSunday, "W": parseWeekNumberMonday, "x": parseLocaleDate, "X": parseLocaleTime, @@ -2776,16 +2858,38 @@ function formatLocale(locale) { function newParse(specifier, newDate) { return function(string) { var d = newYear(1900), - i = parseSpecifier(d, specifier, string += "", 0); + i = parseSpecifier(d, specifier, string += "", 0), + week, day$$1; if (i != string.length) return null; + // If a UNIX timestamp is specified, return it. + if ("Q" in d) return new Date(d.Q); + // The am-pm flag is 0 for AM, and 1 for PM. if ("p" in d) d.H = d.H % 12 + d.p * 12; // Convert day-of-week and week-of-year to day-of-year. - if ("W" in d || "U" in d) { - if (!("w" in d)) d.w = "W" in d ? 1 : 0; - var day$$1 = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay(); + if ("V" in d) { + if (d.V < 1 || d.V > 53) return null; + if (!("w" in d)) d.w = 1; + if ("Z" in d) { + week = utcDate(newYear(d.y)), day$$1 = week.getUTCDay(); + week = day$$1 > 4 || day$$1 === 0 ? utcMonday.ceil(week) : utcMonday(week); + week = utcDay.offset(week, (d.V - 1) * 7); + d.y = week.getUTCFullYear(); + d.m = week.getUTCMonth(); + d.d = week.getUTCDate() + (d.w + 6) % 7; + } else { + week = newDate(newYear(d.y)), day$$1 = week.getDay(); + week = day$$1 > 4 || day$$1 === 0 ? monday.ceil(week) : monday(week); + week = day.offset(week, (d.V - 1) * 7); + d.y = week.getFullYear(); + d.m = week.getMonth(); + d.d = week.getDate() + (d.w + 6) % 7; + } + } else if ("W" in d || "U" in d) { + if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0; + day$$1 = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay(); d.m = 0; d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day$$1 + 5) % 7 : d.w + d.U * 7 - (day$$1 + 6) % 7; } @@ -2929,7 +3033,7 @@ function formatLocale(locale) { var pads = {"-": "", "_": " ", "0": "0"}; var numberRe = /^\s*\d+/; var percentRe = /^%/; -var requoteRe = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; +var requoteRe = /[\\^$*+?|[\]().{}]/g; function pad$1(value, fill, width) { var sign = value < 0 ? "-" : "", @@ -2952,18 +3056,28 @@ function formatLookup(names) { return map; } -function parseWeekdayNumber(d, string, i) { +function parseWeekdayNumberSunday(d, string, i) { var n = numberRe.exec(string.slice(i, i + 1)); return n ? (d.w = +n[0], i + n[0].length) : -1; } +function parseWeekdayNumberMonday(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 1)); + return n ? (d.u = +n[0], i + n[0].length) : -1; +} + function parseWeekNumberSunday(d, string, i) { - var n = numberRe.exec(string.slice(i)); + var n = numberRe.exec(string.slice(i, i + 2)); return n ? (d.U = +n[0], i + n[0].length) : -1; } +function parseWeekNumberISO(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.V = +n[0], i + n[0].length) : -1; +} + function parseWeekNumberMonday(d, string, i) { - var n = numberRe.exec(string.slice(i)); + var n = numberRe.exec(string.slice(i, i + 2)); return n ? (d.W = +n[0], i + n[0].length) : -1; } @@ -2978,7 +3092,7 @@ function parseYear(d, string, i) { } function parseZone(d, string, i) { - var n = /^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i, i + 6)); + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i, i + 6)); return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1; } @@ -3017,11 +3131,26 @@ function parseMilliseconds(d, string, i) { return n ? (d.L = +n[0], i + n[0].length) : -1; } +function parseMicroseconds(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 6)); + return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1; +} + function parseLiteralPercent(d, string, i) { var n = percentRe.exec(string.slice(i, i + 1)); return n ? i + n[0].length : -1; } +function parseUnixTimestamp(d, string, i) { + var n = numberRe.exec(string.slice(i)); + return n ? (d.Q = +n[0], i + n[0].length) : -1; +} + +function parseUnixTimestampSeconds(d, string, i) { + var n = numberRe.exec(string.slice(i)); + return n ? (d.Q = (+n[0]) * 1000, i + n[0].length) : -1; +} + function formatDayOfMonth(d, p) { return pad$1(d.getDate(), p, 2); } @@ -3042,6 +3171,10 @@ function formatMilliseconds(d, p) { return pad$1(d.getMilliseconds(), p, 3); } +function formatMicroseconds(d, p) { + return formatMilliseconds(d, p) + "000"; +} + function formatMonthNumber(d, p) { return pad$1(d.getMonth() + 1, p, 2); } @@ -3054,11 +3187,22 @@ function formatSeconds(d, p) { return pad$1(d.getSeconds(), p, 2); } +function formatWeekdayNumberMonday(d) { + var day$$1 = d.getDay(); + return day$$1 === 0 ? 7 : day$$1; +} + function formatWeekNumberSunday(d, p) { return pad$1(sunday.count(year(d), d), p, 2); } -function formatWeekdayNumber(d) { +function formatWeekNumberISO(d, p) { + var day$$1 = d.getDay(); + d = (day$$1 >= 4 || day$$1 === 0) ? thursday(d) : thursday.ceil(d); + return pad$1(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2); +} + +function formatWeekdayNumberSunday(d) { return d.getDay(); } @@ -3101,6 +3245,10 @@ function formatUTCMilliseconds(d, p) { return pad$1(d.getUTCMilliseconds(), p, 3); } +function formatUTCMicroseconds(d, p) { + return formatUTCMilliseconds(d, p) + "000"; +} + function formatUTCMonthNumber(d, p) { return pad$1(d.getUTCMonth() + 1, p, 2); } @@ -3113,11 +3261,22 @@ function formatUTCSeconds(d, p) { return pad$1(d.getUTCSeconds(), p, 2); } +function formatUTCWeekdayNumberMonday(d) { + var dow = d.getUTCDay(); + return dow === 0 ? 7 : dow; +} + function formatUTCWeekNumberSunday(d, p) { return pad$1(utcSunday.count(utcYear(d), d), p, 2); } -function formatUTCWeekdayNumber(d) { +function formatUTCWeekNumberISO(d, p) { + var day$$1 = d.getUTCDay(); + d = (day$$1 >= 4 || day$$1 === 0) ? utcThursday(d) : utcThursday.ceil(d); + return pad$1(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2); +} + +function formatUTCWeekdayNumberSunday(d) { return d.getUTCDay(); } @@ -3141,6 +3300,14 @@ function formatLiteralPercent() { return "%"; } +function formatUnixTimestamp(d) { + return +d; +} + +function formatUnixTimestampSeconds(d) { + return Math.floor(+d / 1000); +} + var locale$1; var timeFormat; var timeParse; @@ -3200,6 +3367,8 @@ var read = function(data, schema, dateParse) { }; function parse(data, types, dateParse) { + if (!data.length) return; // early exit for empty data + dateParse = dateParse || timeParse; var fields = data.columns || Object.keys(data[0]), @@ -4247,7 +4416,11 @@ function Dataflow() { this._clock = 0; this._rank = 0; - this._loader = loader(); + try { + this._loader = loader(); + } catch (e) { + // do nothing if loader module is unavailable + } this._touched = UniqueList(id); this._pulses = {}; @@ -4737,6 +4910,12 @@ function number(x) { return x === null ? NaN : +x; } +exports.random = Math.random; + +function setRandom(r) { + exports.random = r; +} + var ascending = function(a, b) { return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; }; @@ -4875,17 +5054,18 @@ var sequence = function(start, stop, step) { var e10 = Math.sqrt(50); var e5 = Math.sqrt(10); -var e2 = Math.sqrt(2); +var e2$1 = Math.sqrt(2); var ticks = function(start, stop, count) { - var reverse = stop < start, + var reverse, i = -1, n, ticks, step; - if (reverse) n = start, start = stop, stop = n; - + stop = +stop, start = +start, count = +count; + if (start === stop && count > 0) return [start]; + if (reverse = stop < start) n = start, start = stop, stop = n; if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return []; if (step > 0) { @@ -4910,8 +5090,8 @@ function tickIncrement(start, stop, count) { power = Math.floor(Math.log(step) / Math.LN10), error = step / Math.pow(10, power); return power >= 0 - ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power) - : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1); + ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2$1 ? 2 : 1) * Math.pow(10, power) + : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2$1 ? 2 : 1); } function tickStep(start, stop, count) { @@ -4920,7 +5100,7 @@ function tickStep(start, stop, count) { error = step0 / step1; if (error >= e10) step1 *= 10; else if (error >= e5) step1 *= 5; - else if (error >= e2) step1 *= 2; + else if (error >= e2$1) step1 *= 2; return stop < start ? -step1 : step1; } @@ -5121,7 +5301,7 @@ var bootstrapCI = function(array, samples, alpha, f) { for (j=0, mu=Array(m); j 1); c = Math.sqrt(-2 * Math.log(rds) / rds); // Box-Muller transform @@ -5281,16 +5471,6 @@ var randomNormal = function(mean, stdev) { return dist.mean(mean).stdev(stdev); }; -var quartiles = function(array, f) { - var values = numbers(array, f); - - return [ - threshold(values.sort(ascending), 0.25), - threshold(values, 0.50), - threshold(values, 0.75) - ]; -}; - // TODO: support for additional kernels? var randomKDE = function(support, bandwidth) { var kernel = randomNormal(), @@ -5315,7 +5495,7 @@ var randomKDE = function(support, bandwidth) { }; dist.sample = function() { - return support[~~(Math.random() * n)] + bandwidth * kernel.sample(); + return support[~~(exports.random() * n)] + bandwidth * kernel.sample(); }; dist.pdf = function(x) { @@ -5381,7 +5561,7 @@ var randomMixture = function(dists, weights) { }; dist.sample = function() { - var r = Math.random(), + var r = exports.random(), d = dists[m-1], v = w[0], i = 0; @@ -5445,7 +5625,7 @@ var randomUniform = function(min, max) { }; dist.sample = function() { - return a + d * Math.random(); + return a + d * exports.random(); }; dist.pdf = function(x) { @@ -6507,8 +6687,10 @@ prototype$15.transform = function(_, pulse) { pulse.visit(flag, function(t) { var v = field$$1(t); - if (v < min) min = v; - if (v > max) max = v; + if (v != null) { + if (v < min) min = v; + if (v > max) max = v; + } }); this.value = [min, max]; @@ -7165,6 +7347,9 @@ prototype$23.changes = function() { * @constructor * @param {object} params - The parameters for this operator. * @param {Array} params.fields - The field name(s) for the key function. + * @param {boolean} params.flat - A boolean flag indicating if the field names + * should be treated as flat property names, side-stepping nested field + * lookups normally indicated by dot or bracket notation. */ function Key(params) { Operator.call(this, null, update$3, params); @@ -7173,7 +7358,7 @@ function Key(params) { inherits(Key, Operator); function update$3(_) { - return (this.value && !_.modified()) ? this.value : key(_.fields); + return (this.value && !_.modified()) ? this.value : key(_.fields, _.flat); } /** @@ -7370,6 +7555,83 @@ prototype$25.transform = function(_, pulse) { return pulse; }; +/** + * Performs a relational projection, copying selected fields from source + * tuples to a new set of derived tuples. + * @param {object} params - The parameters for this operator. + * @param {Array} params.as - Output field names for each projected + * field. Any unspecified fields will use the field name provided by + * the field accessor. + * @constructor + */ +function Project(params) { + Transform.call(this, null, params); +} + +Project.Definition = { + "type": "Project", + "metadata": {"generates": true, "changes": true, "modifies": true}, + "params": [ + { "name": "fields", "type": "field", "array": true }, + { "name": "as", "type": "string", "null": true, "array": true }, + ] +}; + +var prototype$26 = inherits(Project, Transform); + +prototype$26.transform = function(_, pulse) { + var fields = _.fields, + as = output(_.fields, _.as || []), + derive$$1 = fields + ? function(s, t) { return project(s, t, fields, as); } + : rederive, + out, lut; + + if (this.value) { + lut = this.value; + } else { + pulse = pulse.addAll(); + lut = this.value = {}; + } + + out = pulse.fork(); + + pulse.visit(pulse.REM, function(t) { + var id$$1 = tupleid(t); + out.rem.push(lut[id$$1]); + lut[id$$1] = null; + }); + + pulse.visit(pulse.ADD, function(t) { + var dt = derive$$1(t, ingest({})); + lut[tupleid(t)] = dt; + out.add.push(dt); + }); + + pulse.visit(pulse.MOD, function(t) { + out.mod.push(derive$$1(t, lut[tupleid(t)])); + }); + + return out; +}; + +function output(fields, as) { + if (!fields) return null; + return fields.map(function(f, i) { + return as[i] || accessorName(f); + }); +} + +function project(s, t, fields, as) { + for (var i=0, n=fields.length; i= cap) { p = res[idx]; if (map[tupleid(p)]) out.rem.push(p); // eviction @@ -7568,9 +7830,9 @@ Sequence.Definition = { "output": ["value"] }; -var prototype$29 = inherits(Sequence, Transform); +var prototype$30 = inherits(Sequence, Transform); -prototype$29.transform = function(_, pulse) { +prototype$30.transform = function(_, pulse) { if (this.value && !_.modified()) return; var out = pulse.materialize().fork(pulse.MOD); @@ -7592,9 +7854,9 @@ function Sieve(params) { this.modified(true); // always treat as modified } -var prototype$30 = inherits(Sieve, Transform); +var prototype$31 = inherits(Sieve, Transform); -prototype$30.transform = function(_, pulse) { +prototype$31.transform = function(_, pulse) { this.value = pulse.source; return pulse.changed() ? pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS) @@ -7612,9 +7874,9 @@ function TupleIndex(params) { Transform.call(this, fastmap(), params); } -var prototype$31 = inherits(TupleIndex, Transform); +var prototype$32 = inherits(TupleIndex, Transform); -prototype$31.transform = function(_, pulse) { +prototype$32.transform = function(_, pulse) { var df = pulse.dataflow, field$$1 = _.field, index = this.value, @@ -7651,9 +7913,9 @@ function Values(params) { Transform.call(this, null, params); } -var prototype$32 = inherits(Values, Transform); +var prototype$33 = inherits(Values, Transform); -prototype$32.transform = function(_, pulse) { +prototype$33.transform = function(_, pulse) { var run = !this.value || _.modified('field') || _.modified('sort') @@ -7844,14 +8106,14 @@ function WindowState(_) { self.inputs = Object.keys(inputs); } -var prototype$34 = WindowState.prototype; +var prototype$35 = WindowState.prototype; -prototype$34.init = function() { +prototype$35.init = function() { this.windows.forEach(function(_) { _.init(); }); if (this.cell) this.cell.init(); }; -prototype$34.update = function(w, t) { +prototype$35.update = function(w, t) { var self = this, cell = self.cell, wind = self.windows, @@ -7965,9 +8227,9 @@ Window.Definition = { ] }; -var prototype$33 = inherits(Window, Transform); +var prototype$34 = inherits(Window, Transform); -prototype$33.transform = function(_, pulse) { +prototype$34.transform = function(_, pulse) { var self = this, state = self.state, mod = _.modified(), @@ -8004,7 +8266,7 @@ prototype$33.transform = function(_, pulse) { return pulse.reflow(mod).modifies(state.outputs); }; -prototype$33.group = function(key$$1) { +prototype$34.group = function(key$$1) { var self = this, group = self.value[key$$1]; @@ -8086,6 +8348,7 @@ var tx = Object.freeze({ multivalues: MultiValues, params: Params, prefacet: PreFacet, + project: Project, proxy: Proxy, relay: Relay, sample: Sample, @@ -8102,13 +8365,13 @@ function Bounds(b) { if (b) this.union(b); } -var prototype$36 = Bounds.prototype; +var prototype$37 = Bounds.prototype; -prototype$36.clone = function() { +prototype$37.clone = function() { return new Bounds(this); }; -prototype$36.clear = function() { +prototype$37.clear = function() { this.x1 = +Number.MAX_VALUE; this.y1 = +Number.MAX_VALUE; this.x2 = -Number.MAX_VALUE; @@ -8116,7 +8379,7 @@ prototype$36.clear = function() { return this; }; -prototype$36.empty = function() { +prototype$37.empty = function() { return ( this.x1 === +Number.MAX_VALUE && this.y1 === +Number.MAX_VALUE && @@ -8125,7 +8388,7 @@ prototype$36.empty = function() { ); }; -prototype$36.set = function(x1, y1, x2, y2) { +prototype$37.set = function(x1, y1, x2, y2) { if (x2 < x1) { this.x2 = x1; this.x1 = x2; @@ -8143,7 +8406,7 @@ prototype$36.set = function(x1, y1, x2, y2) { return this; }; -prototype$36.add = function(x, y) { +prototype$37.add = function(x, y) { if (x < this.x1) this.x1 = x; if (y < this.y1) this.y1 = y; if (x > this.x2) this.x2 = x; @@ -8151,7 +8414,7 @@ prototype$36.add = function(x, y) { return this; }; -prototype$36.expand = function(d) { +prototype$37.expand = function(d) { this.x1 -= d; this.y1 -= d; this.x2 += d; @@ -8159,7 +8422,7 @@ prototype$36.expand = function(d) { return this; }; -prototype$36.round = function() { +prototype$37.round = function() { this.x1 = Math.floor(this.x1); this.y1 = Math.floor(this.y1); this.x2 = Math.ceil(this.x2); @@ -8167,7 +8430,7 @@ prototype$36.round = function() { return this; }; -prototype$36.translate = function(dx, dy) { +prototype$37.translate = function(dx, dy) { this.x1 += dx; this.x2 += dx; this.y1 += dy; @@ -8175,7 +8438,7 @@ prototype$36.translate = function(dx, dy) { return this; }; -prototype$36.rotate = function(angle, x, y) { +prototype$37.rotate = function(angle, x, y) { var cos = Math.cos(angle), sin = Math.sin(angle), cx = x - x*cos + y*sin, @@ -8190,7 +8453,7 @@ prototype$36.rotate = function(angle, x, y) { .add(cos*x2 - sin*y2 + cx, sin*x2 + cos*y2 + cy); }; -prototype$36.union = function(b) { +prototype$37.union = function(b) { if (b.x1 < this.x1) this.x1 = b.x1; if (b.y1 < this.y1) this.y1 = b.y1; if (b.x2 > this.x2) this.x2 = b.x2; @@ -8198,7 +8461,7 @@ prototype$36.union = function(b) { return this; }; -prototype$36.intersect = function(b) { +prototype$37.intersect = function(b) { if (b.x1 > this.x1) this.x1 = b.x1; if (b.y1 > this.y1) this.y1 = b.y1; if (b.x2 < this.x2) this.x2 = b.x2; @@ -8206,7 +8469,7 @@ prototype$36.intersect = function(b) { return this; }; -prototype$36.encloses = function(b) { +prototype$37.encloses = function(b) { return b && ( this.x1 <= b.x1 && this.x2 >= b.x2 && @@ -8215,7 +8478,7 @@ prototype$36.encloses = function(b) { ); }; -prototype$36.alignsWith = function(b) { +prototype$37.alignsWith = function(b) { return b && ( this.x1 == b.x1 || this.x2 == b.x2 || @@ -8224,7 +8487,7 @@ prototype$36.alignsWith = function(b) { ); }; -prototype$36.intersects = function(b) { +prototype$37.intersects = function(b) { return b && !( this.x2 < b.x1 || this.x1 > b.x2 || @@ -8233,7 +8496,7 @@ prototype$36.intersects = function(b) { ); }; -prototype$36.contains = function(x, y) { +prototype$37.contains = function(x, y) { return !( x < this.x1 || x > this.x2 || @@ -8242,11 +8505,11 @@ prototype$36.contains = function(x, y) { ); }; -prototype$36.width = function() { +prototype$37.width = function() { return this.x2 - this.x1; }; -prototype$36.height = function() { +prototype$37.height = function() { return this.y2 - this.y1; }; @@ -8328,7 +8591,18 @@ function cssClass(mark) { var Canvas; -try { Canvas = require('canvas'); } catch (e) { Canvas = null; } +try { + // try to load canvas module + Canvas = require('canvas'); +} catch (e) { + try { + // if canvas fails, try to load canvas-prebuilt + Canvas = require('canvas-prebuilt'); + } catch (e2) { + // if all options fail, set to null + Canvas = null; + } +} var Canvas$1 = function(w, h) { var canvas = domCreate(null, 'canvas'); @@ -8353,9 +8627,9 @@ function ResourceLoader(customLoader) { this._loader = customLoader || loader(); } -var prototype$37 = ResourceLoader.prototype; +var prototype$38 = ResourceLoader.prototype; -prototype$37.pending = function() { +prototype$38.pending = function() { return this._pending; }; @@ -8367,7 +8641,7 @@ function decrement(loader$$1) { loader$$1._pending -= 1; } -prototype$37.sanitizeURL = function(uri) { +prototype$38.sanitizeURL = function(uri) { var loader$$1 = this; increment(loader$$1); @@ -8382,7 +8656,7 @@ prototype$37.sanitizeURL = function(uri) { }); }; -prototype$37.loadImage = function(uri) { +prototype$38.loadImage = function(uri) { var loader$$1 = this; increment(loader$$1); @@ -8413,7 +8687,7 @@ prototype$37.loadImage = function(uri) { }); }; -prototype$37.ready = function() { +prototype$38.ready = function() { var loader$$1 = this; return new Promise(function(accept) { function poll(value) { @@ -10797,13 +11071,18 @@ function ts(item) { return item.size || 1; } function h(item) { return item.height || 0; } function xw(item) { return (item.x || 0) + (item.width || 0); } function yh(item) { return (item.y || 0) + (item.height || 0); } -function cr(item) { return item.cornerRadius || 0; } +function sa(item) { return item.startAngle || 0; } +function ea(item) { return item.endAngle || 0; } function pa(item) { return item.padAngle || 0; } +function ir(item) { return item.innerRadius || 0; } +function or(item) { return item.outerRadius || 0; } +function cr(item) { return item.cornerRadius || 0; } function def(item) { return !(item.defined === false); } function size(item) { return item.size == null ? 64 : item.size; } function type$1(item) { return symbols$1(item.shape || 'circle'); } -var arcShape = d3_arc().cornerRadius(cr).padAngle(pa); +var arcShape = d3_arc().startAngle(sa).endAngle(ea).padAngle(pa) + .innerRadius(ir).outerRadius(or).cornerRadius(cr); var areavShape = area$1().x(x).y1(y).y0(yh).defined(def); var areahShape = area$1().y(y).x1(x).x0(xw).defined(def); var lineShape = line$1().x(x).y(y).defined(def); @@ -11734,7 +12013,7 @@ function offset(item) { var baseline = item.baseline, h = height(item); return Math.round( - baseline === 'top' ? 0.93*h : + baseline === 'top' ? 0.79*h : baseline === 'middle' ? 0.30*h : baseline === 'bottom' ? -0.21*h : 0 ); @@ -11989,13 +12268,13 @@ function Scenegraph(scene) { } } -var prototype$38 = Scenegraph.prototype; +var prototype$39 = Scenegraph.prototype; -prototype$38.toJSON = function(indent) { +prototype$39.toJSON = function(indent) { return sceneToJSON(this.root, indent || 0); }; -prototype$38.mark = function(markdef, group, index) { +prototype$39.mark = function(markdef, group, index) { group = group || this.root.items[0]; var mark = createMark(markdef, group); group.items[index] = mark; @@ -12023,24 +12302,24 @@ function Handler(customLoader) { this._loader = customLoader || loader(); } -var prototype$39 = Handler.prototype; +var prototype$40 = Handler.prototype; -prototype$39.initialize = function(el, origin, obj) { +prototype$40.initialize = function(el, origin, obj) { this._el = el; this._obj = obj || null; return this.origin(origin); }; -prototype$39.element = function() { +prototype$40.element = function() { return this._el; }; -prototype$39.origin = function(origin) { +prototype$40.origin = function(origin) { this._origin = origin || [0, 0]; return this; }; -prototype$39.scene = function(scene) { +prototype$40.scene = function(scene) { if (!arguments.length) return this._scene; this._scene = scene; return this; @@ -12048,25 +12327,25 @@ prototype$39.scene = function(scene) { // add an event handler // subclasses should override -prototype$39.on = function(/*type, handler*/) {}; +prototype$40.on = function(/*type, handler*/) {}; // remove an event handler // subclasses should override -prototype$39.off = function(/*type, handler*/) {}; +prototype$40.off = function(/*type, handler*/) {}; // return an array with all registered event handlers -prototype$39.handlers = function() { +prototype$40.handlers = function() { var h = this._handlers, a = [], k; for (k in h) { a.push.apply(a, h[k]); } return a; }; -prototype$39.eventName = function(name) { +prototype$40.eventName = function(name) { var i = name.indexOf('.'); return i < 0 ? name : name.slice(0,i); }; -prototype$39.handleHref = function(event, item, href) { +prototype$40.handleHref = function(event, item, href) { this._loader .sanitize(href, {context:'href'}) .then(function(opt) { @@ -12078,7 +12357,7 @@ prototype$39.handleHref = function(event, item, href) { .catch(function() { /* do nothing */ }); }; -prototype$39.handleTooltip = function(event, item, tooltipText) { +prototype$40.handleTooltip = function(event, item, tooltipText) { this._el.setAttribute('title', tooltipText || ''); }; @@ -12095,7 +12374,7 @@ function Renderer(loader) { this._loader = new ResourceLoader(loader); } -var prototype$40 = Renderer.prototype; +var prototype$41 = Renderer.prototype; /** * Initialize a new Renderer instance. @@ -12106,7 +12385,7 @@ var prototype$40 = Renderer.prototype; * The coordinate system will be translated to this point. * @return {Renderer} - This renderer instance; */ -prototype$40.initialize = function(el, width, height, origin) { +prototype$41.initialize = function(el, width, height, origin) { this._el = el; return this.resize(width, height, origin); }; @@ -12115,7 +12394,7 @@ prototype$40.initialize = function(el, width, height, origin) { * Returns the parent container element for a visualization. * @return {DOMElement} - The containing DOM element. */ -prototype$40.element = function() { +prototype$41.element = function() { return this._el; }; @@ -12124,14 +12403,14 @@ prototype$40.element = function() { * Subclasses must override if the first child is not the scene element. * @return {DOMElement} - The scene (e.g., canvas or SVG) element. */ -prototype$40.scene = function() { +prototype$41.scene = function() { return this._el && this._el.firstChild; }; /** * Get / set the background color. */ -prototype$40.background = function(bgcolor) { +prototype$41.background = function(bgcolor) { if (arguments.length === 0) return this._bgcolor; this._bgcolor = bgcolor; return this; @@ -12145,7 +12424,7 @@ prototype$40.background = function(bgcolor) { * The coordinate system will be translated to this point. * @return {Renderer} - This renderer instance; */ -prototype$40.resize = function(width, height, origin) { +prototype$41.resize = function(width, height, origin) { this._width = width; this._height = height; this._origin = origin || [0, 0]; @@ -12158,7 +12437,7 @@ prototype$40.resize = function(width, height, origin) { * incremental should implement this method. * @param {Item} item - The dirty item whose bounds should be redrawn. */ -prototype$40.dirty = function(/*item*/) { +prototype$41.dirty = function(/*item*/) { }; /** @@ -12171,7 +12450,7 @@ prototype$40.dirty = function(/*item*/) { * @param {object} scene - The root mark of a scenegraph to render. * @return {Renderer} - This renderer instance. */ -prototype$40.render = function(scene) { +prototype$41.render = function(scene) { var r = this; // bind arguments into a render call, and cache it @@ -12193,7 +12472,7 @@ prototype$40.render = function(scene) { * method to actually perform rendering. * @param {object} scene - The root mark of a scenegraph to render. */ -prototype$40._render = function(/*scene*/) { +prototype$41._render = function(/*scene*/) { // subclasses to override }; @@ -12205,7 +12484,7 @@ prototype$40._render = function(/*scene*/) { * @param {object} scene - The root mark of a scenegraph to render. * @return {Promise} - A Promise that resolves when rendering is complete. */ -prototype$40.renderAsync = function(scene) { +prototype$41.renderAsync = function(scene) { var r = this.render(scene); return this._ready ? this._ready.then(function() { return r; }) @@ -12220,7 +12499,7 @@ prototype$40.renderAsync = function(scene) { * @param {string} uri - The URI for the requested resource. * @return {Promise} - A Promise that resolves to the requested resource. */ -prototype$40._load = function(method, uri) { +prototype$41._load = function(method, uri) { var r = this, p = r._loader[method](uri); @@ -12244,7 +12523,7 @@ prototype$40._load = function(method, uri) { * @param {string} uri - The URI string to sanitize. * @return {Promise} - A Promise that resolves to the sanitized URL. */ -prototype$40.sanitizeURL = function(uri) { +prototype$41.sanitizeURL = function(uri) { return this._load('sanitizeURL', uri); }; @@ -12255,7 +12534,7 @@ prototype$40.sanitizeURL = function(uri) { * @param {string} uri - The URI string of the image. * @return {Promise} - A Promise that resolves to the loaded Image. */ -prototype$40.loadImage = function(uri) { +prototype$41.loadImage = function(uri) { return this._load('loadImage', uri); }; @@ -12274,17 +12553,17 @@ function CanvasHandler(loader) { this._first = true; } -var prototype$41 = inherits(CanvasHandler, Handler); +var prototype$42 = inherits(CanvasHandler, Handler); -prototype$41.initialize = function(el, origin, obj) { +prototype$42.initialize = function(el, origin, obj) { // add event listeners var canvas = this._canvas = el && domFind(el, 'canvas'); if (canvas) { var that = this; this.events.forEach(function(type) { canvas.addEventListener(type, function(evt) { - if (prototype$41[type]) { - prototype$41[type].call(that, evt); + if (prototype$42[type]) { + prototype$42[type].call(that, evt); } else { that.fire(type, evt); } @@ -12295,17 +12574,17 @@ prototype$41.initialize = function(el, origin, obj) { return Handler.prototype.initialize.call(this, el, origin, obj); }; -prototype$41.canvas = function() { +prototype$42.canvas = function() { return this._canvas; }; // retrieve the current canvas context -prototype$41.context = function() { +prototype$42.context = function() { return this._canvas.getContext('2d'); }; // supported events -prototype$41.events = [ +prototype$42.events = [ 'keydown', 'keypress', 'keyup', @@ -12327,7 +12606,7 @@ prototype$41.events = [ ]; // to keep old versions of firefox happy -prototype$41.DOMMouseScroll = function(evt) { +prototype$42.DOMMouseScroll = function(evt) { this.fire('mousewheel', evt); }; @@ -12360,25 +12639,25 @@ function inactive(type) { }; } -prototype$41.mousemove = move('mousemove', 'mouseover', 'mouseout'); -prototype$41.dragover = move('dragover', 'dragenter', 'dragleave'); +prototype$42.mousemove = move('mousemove', 'mouseover', 'mouseout'); +prototype$42.dragover = move('dragover', 'dragenter', 'dragleave'); -prototype$41.mouseout = inactive('mouseout'); -prototype$41.dragleave = inactive('dragleave'); +prototype$42.mouseout = inactive('mouseout'); +prototype$42.dragleave = inactive('dragleave'); -prototype$41.mousedown = function(evt) { +prototype$42.mousedown = function(evt) { this._down = this._active; this.fire('mousedown', evt); }; -prototype$41.click = function(evt) { +prototype$42.click = function(evt) { if (this._down === this._active) { this.fire('click', evt); this._down = null; } }; -prototype$41.touchstart = function(evt) { +prototype$42.touchstart = function(evt) { this._touch = this.pickEvent(evt.changedTouches[0]); if (this._first) { @@ -12389,17 +12668,17 @@ prototype$41.touchstart = function(evt) { this.fire('touchstart', evt, true); }; -prototype$41.touchmove = function(evt) { +prototype$42.touchmove = function(evt) { this.fire('touchmove', evt, true); }; -prototype$41.touchend = function(evt) { +prototype$42.touchend = function(evt) { this.fire('touchend', evt, true); this._touch = null; }; // fire an event -prototype$41.fire = function(type, evt, touch) { +prototype$42.fire = function(type, evt, touch) { var a = touch ? this._touch : this._active, h = this._handlers[type], i, len; @@ -12420,7 +12699,7 @@ prototype$41.fire = function(type, evt, touch) { }; // add an event handler -prototype$41.on = function(type, handler) { +prototype$42.on = function(type, handler) { var name = this.eventName(type), h = this._handlers; (h[name] || (h[name] = [])).push({ @@ -12431,7 +12710,7 @@ prototype$41.on = function(type, handler) { }; // remove an event handler -prototype$41.off = function(type, handler) { +prototype$42.off = function(type, handler) { var name = this.eventName(type), h = this._handlers[name], i; if (!h) return; @@ -12442,7 +12721,7 @@ prototype$41.off = function(type, handler) { return this; }; -prototype$41.pickEvent = function(evt) { +prototype$42.pickEvent = function(evt) { var p = point$4(evt, this._canvas), o = this._origin; return this.pick(this._scene, p[0], p[1], p[0] - o[0], p[1] - o[1]); @@ -12451,7 +12730,7 @@ prototype$41.pickEvent = function(evt) { // find the scenegraph item at the current mouse position // x, y -- the absolute x, y mouse coordinates on the canvas element // gx, gy -- the relative coordinates within the current group -prototype$41.pick = function(scene, x, y, gx, gy) { +prototype$42.pick = function(scene, x, y, gx, gy) { var g = this.context(), mark = marks[scene.marktype]; return mark.pick.call(this, g, scene, x, y, gx, gy); @@ -12465,10 +12744,8 @@ var clip$1 = function(context, scene) { context.clip(); }; -// Hack for PowerBI -// var devicePixelRatio = typeof window !== 'undefined' -// ? window.devicePixelRatio || 1 : 1; -var devicePixelRatio = 2; +var devicePixelRatio = typeof window !== 'undefined' + ? window.devicePixelRatio || 1 : 1; var resize = function(canvas, width, height, origin) { var scale = typeof HTMLElement !== 'undefined' @@ -12502,11 +12779,11 @@ function CanvasRenderer(loader) { this._dirty = new Bounds(); } -var prototype$42 = inherits(CanvasRenderer, Renderer); +var prototype$43 = inherits(CanvasRenderer, Renderer); var base = Renderer.prototype; var tempBounds$1 = new Bounds(); -prototype$42.initialize = function(el, width, height, origin) { +prototype$43.initialize = function(el, width, height, origin) { this._canvas = Canvas$1(1, 1); // instantiate a small canvas if (el) { domClear(el, 0).appendChild(this._canvas); @@ -12516,22 +12793,22 @@ prototype$42.initialize = function(el, width, height, origin) { return base.initialize.call(this, el, width, height, origin); }; -prototype$42.resize = function(width, height, origin) { +prototype$43.resize = function(width, height, origin) { base.resize.call(this, width, height, origin); resize(this._canvas, this._width, this._height, this._origin); this._redraw = true; return this; }; -prototype$42.canvas = function() { +prototype$43.canvas = function() { return this._canvas; }; -prototype$42.context = function() { +prototype$43.context = function() { return this._canvas ? this._canvas.getContext('2d') : null; }; -prototype$42.dirty = function(item) { +prototype$43.dirty = function(item) { var b = translate$1(item.bounds, item.mark.group); this._dirty.union(b); }; @@ -12560,7 +12837,7 @@ function translate$1(bounds, group) { return b; } -prototype$42._render = function(scene) { +prototype$43._render = function(scene) { var g = this.context(), o = this._origin, w = this._width, @@ -12588,14 +12865,14 @@ prototype$42._render = function(scene) { return this; }; -prototype$42.draw = function(ctx, scene, bounds) { +prototype$43.draw = function(ctx, scene, bounds) { var mark = marks[scene.marktype]; if (scene.clip) clip$1(ctx, scene); mark.draw.call(this, ctx, scene, bounds); if (scene.clip) ctx.restore(); }; -prototype$42.clear = function(x, y, w, h) { +prototype$43.clear = function(x, y, w, h) { var g = this.context(); g.clearRect(x, y, w, h); if (this._bgcolor != null) { @@ -12617,9 +12894,9 @@ function SVGHandler(loader) { }); } -var prototype$43 = inherits(SVGHandler, Handler); +var prototype$44 = inherits(SVGHandler, Handler); -prototype$43.initialize = function(el, origin, obj) { +prototype$44.initialize = function(el, origin, obj) { var svg = this._svg; if (svg) { svg.removeEventListener('click', this._hrefHandler); @@ -12635,7 +12912,7 @@ prototype$43.initialize = function(el, origin, obj) { return Handler.prototype.initialize.call(this, el, origin, obj); }; -prototype$43.svg = function() { +prototype$44.svg = function() { return this._svg; }; @@ -12651,7 +12928,7 @@ function listener(context, handler) { } // add an event handler -prototype$43.on = function(type, handler) { +prototype$44.on = function(type, handler) { var name = this.eventName(type), h = this._handlers, x = { @@ -12670,7 +12947,7 @@ prototype$43.on = function(type, handler) { }; // remove an event handler -prototype$43.off = function(type, handler) { +prototype$44.off = function(type, handler) { var name = this.eventName(type), svg = this._svg, h = this._handlers[name], i; @@ -12746,10 +13023,10 @@ function SVGRenderer(loader) { this._defs = null; } -var prototype$44 = inherits(SVGRenderer, Renderer); +var prototype$45 = inherits(SVGRenderer, Renderer); var base$1 = Renderer.prototype; -prototype$44.initialize = function(el, width, height, padding) { +prototype$45.initialize = function(el, width, height, padding) { if (el) { this._svg = domChild(el, 0, 'svg', ns); this._svg.setAttribute('class', 'marks'); @@ -12771,14 +13048,14 @@ prototype$44.initialize = function(el, width, height, padding) { return base$1.initialize.call(this, el, width, height, padding); }; -prototype$44.background = function(bgcolor) { +prototype$45.background = function(bgcolor) { if (arguments.length && this._svg) { this._svg.style.setProperty('background-color', bgcolor); } return base$1.background.apply(this, arguments); }; -prototype$44.resize = function(width, height, origin) { +prototype$45.resize = function(width, height, origin) { base$1.resize.call(this, width, height, origin); if (this._svg) { @@ -12793,26 +13070,33 @@ prototype$44.resize = function(width, height, origin) { return this; }; -prototype$44.svg = function() { +prototype$45.svg = function() { if (!this._svg) return null; var attr = { - 'class': 'marks', - 'width': this._width, - 'height': this._height, - 'viewBox': '0 0 ' + this._width + ' ' + this._height + class: 'marks', + width: this._width, + height: this._height, + viewBox: '0 0 ' + this._width + ' ' + this._height }; for (var key$$1 in metadata) { attr[key$$1] = metadata[key$$1]; } - return openTag('svg', attr) + this._svg.innerHTML + closeTag('svg'); + var bg = !this._bgcolor ? '' + : (openTag('rect', { + width: this._width, + height: this._height, + style: 'fill: ' + this._bgcolor + ';' + }) + closeTag('rect')); + + return openTag('svg', attr) + bg + this._svg.innerHTML + closeTag('svg'); }; // -- Render entry point -- -prototype$44._render = function(scene) { +prototype$45._render = function(scene) { // perform spot updates and re-render markup if (this._dirtyCheck()) { if (this._dirtyAll) this._resetDefs(); @@ -12830,7 +13114,7 @@ prototype$44._render = function(scene) { // -- Manage SVG definitions ('defs') block -- -prototype$44.updateDefs = function() { +prototype$45.updateDefs = function() { var svg = this._svg, defs = this._defs, el = defs.el, @@ -12887,7 +13171,7 @@ function updateClipping(el, clip$$1, index) { rect.setAttribute('height', clip$$1.height); } -prototype$44._resetDefs = function() { +prototype$45._resetDefs = function() { var def = this._defs; def.gradient = {}; def.clipping = {}; @@ -12896,20 +13180,20 @@ prototype$44._resetDefs = function() { // -- Manage rendering of items marked as dirty -- -prototype$44.dirty = function(item) { +prototype$45.dirty = function(item) { if (item.dirty !== this._dirtyID) { item.dirty = this._dirtyID; this._dirty.push(item); } }; -prototype$44.isDirty = function(item) { +prototype$45.isDirty = function(item) { return this._dirtyAll || !item._svg || item.dirty === this._dirtyID; }; -prototype$44._dirtyCheck = function() { +prototype$45._dirtyCheck = function() { this._dirtyAll = true; var items = this._dirty; if (!items.length) return true; @@ -12976,7 +13260,7 @@ function dirtyParents(item, id$$1) { // -- Construct & maintain scenegraph to SVG mapping --- // Draw a mark container. -prototype$44.draw = function(el, scene, prev) { +prototype$45.draw = function(el, scene, prev) { if (!this.isDirty(scene)) return scene._svg; var renderer = this, @@ -13106,7 +13390,7 @@ var mark_extras = { } }; -prototype$44._update = function(mdef, el, item) { +prototype$45._update = function(mdef, el, item) { // set dom element and values cache // provides access to emit method element = el; @@ -13148,7 +13432,7 @@ function emit(name, value, ns) { values$1[name] = value; } -prototype$44.style = function(el, o) { +prototype$45.style = function(el, o) { if (o == null) return; var i, n, prop, name, value; @@ -13189,6 +13473,7 @@ function SVGStringRenderer(loader) { this._text = { head: '', + bg: '', root: '', foot: '', defs: '', @@ -13201,45 +13486,65 @@ function SVGStringRenderer(loader) { }; } -var prototype$45 = inherits(SVGStringRenderer, Renderer); +var prototype$46 = inherits(SVGStringRenderer, Renderer); var base$2 = Renderer.prototype; -prototype$45.resize = function(width, height, origin) { +prototype$46.resize = function(width, height, origin) { base$2.resize.call(this, width, height, origin); var o = this._origin, t = this._text; var attr = { - 'class': 'marks', - 'width': this._width, - 'height': this._height, - 'viewBox': '0 0 ' + this._width + ' ' + this._height + class: 'marks', + width: this._width, + height: this._height, + viewBox: '0 0 ' + this._width + ' ' + this._height }; for (var key$$1 in metadata) { attr[key$$1] = metadata[key$$1]; } t.head = openTag('svg', attr); + + if (this._bgcolor) { + t.bg = openTag('rect', { + width: this._width, + height: this._height, + style: 'fill: ' + this._bgcolor + ';' + }) + closeTag('rect'); + } else { + t.bg = ''; + } + t.root = openTag('g', { transform: 'translate(' + o + ')' }); + t.foot = closeTag('g') + closeTag('svg'); return this; }; -prototype$45.svg = function() { - var t = this._text; - return t.head + t.defs + t.root + t.body + t.foot; +prototype$46.background = function() { + var rv = base$2.background.apply(this, arguments); + if (arguments.length && this._text.head) { + this.resize(this._width, this._height, this._origin); + } + return rv; }; -prototype$45._render = function(scene) { +prototype$46.svg = function() { + var t = this._text; + return t.head + t.bg + t.defs + t.root + t.body + t.foot; +}; + +prototype$46._render = function(scene) { this._text.body = this.mark(scene); this._text.defs = this.buildDefs(); return this; }; -prototype$45.buildDefs = function() { +prototype$46.buildDefs = function() { var all = this._defs, defs = '', i, id$$1, def, stops; @@ -13290,13 +13595,13 @@ function emit$1(name, value, ns, prefixed) { object$1[prefixed || name] = value; } -prototype$45.attributes = function(attr, item) { +prototype$46.attributes = function(attr, item) { object$1 = {}; attr(emit$1, item, this); return object$1; }; -prototype$45.href = function(item) { +prototype$46.href = function(item) { var that = this, href = item.href, attr; @@ -13317,7 +13622,7 @@ prototype$45.href = function(item) { return null; }; -prototype$45.mark = function(scene) { +prototype$46.mark = function(scene) { var renderer = this, mdef = marks[scene.marktype], tag = mdef.tag, @@ -13368,7 +13673,7 @@ prototype$45.mark = function(scene) { return str + closeTag('g'); }; -prototype$45.markGroup = function(scene) { +prototype$46.markGroup = function(scene) { var renderer = this, str = ''; @@ -13505,10 +13810,10 @@ function Bound(params) { Transform.call(this, null, params); } -var prototype$35 = inherits(Bound, Transform); +var prototype$36 = inherits(Bound, Transform); var temp = new Bounds(); -prototype$35.transform = function(_, pulse) { +prototype$36.transform = function(_, pulse) { var view = pulse.dataflow, mark = _.mark, type = mark.marktype, @@ -13592,9 +13897,9 @@ Identifier.Definition = { ] }; -var prototype$46 = inherits(Identifier, Transform); +var prototype$47 = inherits(Identifier, Transform); -prototype$46.transform = function(_, pulse) { +prototype$47.transform = function(_, pulse) { var counter = getCounter(pulse.dataflow), id$$1 = counter.value, as = _.as; @@ -13630,9 +13935,9 @@ function Mark(params) { Transform.call(this, null, params); } -var prototype$47 = inherits(Mark, Transform); +var prototype$48 = inherits(Mark, Transform); -prototype$47.transform = function(_, pulse) { +prototype$48.transform = function(_, pulse) { var mark = this.value; // acquire mark on first invocation, bind context and group @@ -13660,22 +13965,39 @@ function lookup$1(_) { : null; } +var Top = 'top'; +var Left = 'left'; +var Right = 'right'; +var Bottom = 'bottom'; + /** * Analyze items for overlap, changing opacity to hide items with * overlapping bounding boxes. This transform will preserve at least * two items (e.g., first and last) even if overlap persists. * @param {object} params - The parameters for this operator. - * @param {object} params.method - The overlap removal method to apply. + * @param {function(*,*): number} [params.sort] - A comparator + * function for sorting items. + * @param {object} [params.method] - The overlap removal method to apply. * One of 'parity' (default, hide every other item until there is no * more overlap) or 'greedy' (sequentially scan and hide and items that * overlap with the last visible item). + * @param {object} [params.boundScale] - A scale whose range should be used + * to bound the items. Items exceeding the bounds of the scale range + * will be treated as overlapping. If null or undefined, no bounds check + * will be applied. + * @param {object} [params.boundOrient] - The orientation of the scale + * (top, bottom, left, or right) used to bound items. This parameter is + * ignored if boundScale is null or undefined. + * @param {object} [params.boundTolerance] - The tolerance in pixels for + * bound inclusion testing (default 1). This specifies by how many pixels + * an item's bounds may exceed the scale range bounds and not be culled. * @constructor */ function Overlap(params) { Transform.call(this, null, params); } -var prototype$48 = inherits(Overlap, Transform); +var prototype$49 = inherits(Overlap, Transform); var methods = { parity: function(items) { @@ -13718,17 +14040,41 @@ function hasBounds(item) { return b.width() > 1 && b.height() > 1; } -prototype$48.transform = function(_, pulse) { - var reduce = methods[_.method] || methods.parity, - source = pulse.materialize(pulse.SOURCE).source, - items = source; +function boundTest(scale, orient, tolerance) { + var range = scale.range(), + b = new Bounds(); - if (!items) return; + if (orient === Top || orient === Bottom) { + b.set(range[0], -Infinity, range[1], +Infinity); + } else { + b.set(-Infinity, range[0], +Infinity, range[1]); + } + b.expand(tolerance || 1); + + return function(item) { + return b.encloses(item.bounds); + }; +} + +prototype$49.transform = function(_, pulse) { + var reduce = methods[_.method] || methods.parity, + source = pulse.materialize(pulse.SOURCE).source; + + if (!source) return; + + if (_.sort) { + source = source.slice().sort(_.sort); + } if (_.method === 'greedy') { - items = source = source.filter(hasBounds); + source = source.filter(hasBounds); } + // reset all items to be fully opaque + source.forEach(function(item) { item.opacity = 1; }); + + var items = source; + if (items.length >= 3 && hasOverlap(items)) { pulse = pulse.reflow(_.modified()).modifies('opacity'); do { @@ -13741,6 +14087,13 @@ prototype$48.transform = function(_, pulse) { } } + if (_.boundScale) { + var test = boundTest(_.boundScale, _.boundOrient, _.boundTolerance); + source.forEach(function(item) { + if (!test(item)) item.opacity = 0; + }); + } + return pulse; }; @@ -13752,9 +14105,9 @@ function Render(params) { Transform.call(this, null, params); } -var prototype$49 = inherits(Render, Transform); +var prototype$50 = inherits(Render, Transform); -prototype$49.transform = function(_, pulse) { +prototype$50.transform = function(_, pulse) { var view = pulse.dataflow; pulse.visit(pulse.ALL, function(item) { view.dirty(item); }); @@ -14025,6 +14378,9 @@ function layoutHeaders(view, headers, groups, ncols, limit, offset, agg, isX, bo edge = 0, i, j, k, m, b, h, g, x, y; + // if no groups, early exit and return 0 + if (!n) return init; + // compute margin for (i=start; i= 0 && (g = groups[k]) == null; k-=back); // assign coordinates and update bounds if (isX) { @@ -14102,11 +14458,6 @@ var Pad = 'pad'; var None$2 = 'none'; var Padding = 'padding'; -var Top = 'top'; -var Left = 'left'; -var Right = 'right'; -var Bottom = 'bottom'; - var AxisRole = 'axis'; var TitleRole = 'title'; var FrameRole = 'frame'; @@ -14131,9 +14482,9 @@ function ViewLayout(params) { Transform.call(this, null, params); } -var prototype$50 = inherits(ViewLayout, Transform); +var prototype$51 = inherits(ViewLayout, Transform); -prototype$50.transform = function(_, pulse) { +prototype$51.transform = function(_, pulse) { // TODO incremental update, output? var view = pulse.dataflow; _.mark.items.forEach(function(group) { @@ -14518,8 +14869,10 @@ var vtx = Object.freeze({ var Log = 'log'; var Pow = 'pow'; +var Utc = 'utc'; var Sqrt = 'sqrt'; var Band = 'band'; +var Time = 'time'; var Point = 'point'; var Linear$1 = 'linear'; var Ordinal = 'ordinal'; @@ -15521,7 +15874,7 @@ function tanh(x) { // p0 = [ux0, uy0, w0] // p1 = [ux1, uy1, w1] -var zoom = function(p0, p1) { +var zoom$1 = function(p0, p1) { var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, @@ -15666,7 +16019,7 @@ var $$1 = Object.freeze({ interpolateString: string, interpolateTransformCss: interpolateTransformCss, interpolateTransformSvg: interpolateTransformSvg, - interpolateZoom: zoom, + interpolateZoom: zoom$1, interpolateRgb: rgb$1, interpolateRgbBasis: rgbBasis, interpolateRgbBasisClosed: rgbBasisClosed, @@ -16280,7 +16633,7 @@ function reflect(f) { }; } -function log$1() { +function log$2() { var scale = continuous(deinterpolate, reinterpolate$1).domain([1, 10]), domain = scale.domain, base = 10, @@ -16362,7 +16715,7 @@ function log$1() { }; scale.copy = function() { - return copy(scale, log$1().base(base)); + return copy(scale, log$2().base(base)); }; return scale; @@ -16372,7 +16725,7 @@ function raise(x, exponent) { return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); } -function pow() { +function pow$1() { var exponent = 1, scale = continuous(deinterpolate, reinterpolate), domain = scale.domain; @@ -16393,14 +16746,14 @@ function pow() { }; scale.copy = function() { - return copy(scale, pow().exponent(exponent)); + return copy(scale, pow$1().exponent(exponent)); }; return linearish(scale); } function sqrt$1() { - return pow().exponent(0.5); + return pow$1().exponent(0.5); } function quantile() { @@ -17064,9 +17417,9 @@ var scales = { // base scale types identity: identity$3, linear: linear, - log: log$1, + log: log$2, ordinal: ordinal, - pow: pow, + pow: pow$1, sqrt: sqrt$1, quantile: quantile, quantize: quantize$1, @@ -17725,9 +18078,10 @@ function tickCount(scale$$1, count) { * that lie within the scale range are included. * @param {Scale} scale - The scale for which to generate tick values. * @param {Array<*>} ticks - The candidate tick values. + * @param {*} count - The tick count or interval function. * @return {Array<*>} - The filtered tick values. */ -function validTicks(scale$$1, ticks) { +function validTicks(scale$$1, ticks, count) { var range = scale$$1.range(), lo = range[0], hi = peek(range); @@ -17737,10 +18091,22 @@ function validTicks(scale$$1, ticks) { lo = range; } - return ticks.filter(function(v) { + ticks = ticks.filter(function(v) { v = scale$$1(v); return !(v < lo || v > hi) }); + + if (count > 0 && ticks.length > 1) { + var endpoints = [ticks[0], peek(ticks)]; + while (ticks.length > count && ticks.length >= 3) { + ticks = ticks.filter(function(_, i) { return !(i % 2); }); + } + if (ticks.length < 3) { + ticks = endpoints; + } + } + + return ticks; } /** @@ -17849,9 +18215,9 @@ function AxisTicks(params) { Transform.call(this, null, params); } -var prototype$51 = inherits(AxisTicks, Transform); +var prototype$52 = inherits(AxisTicks, Transform); -prototype$51.transform = function(_, pulse) { +prototype$52.transform = function(_, pulse) { if (this.value && !_.modified()) { return pulse.StopPropagation; } @@ -17859,20 +18225,25 @@ prototype$51.transform = function(_, pulse) { var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS), ticks = this.value, scale = _.scale, - count = _.values ? _.values.length : tickCount(scale, _.count), + count = _.count ? _.count : (_.values ? _.values.length : tickCount(scale, _.count)), format = _.format || tickFormat(scale, count, _.formatSpecifier), - values = _.values ? validTicks(scale, _.values) : tickValues(scale, count); + values = _.values ? validTicks(scale, _.values, count) : tickValues(scale, count); if (ticks) out.rem = ticks; - ticks = values.map(function(value) { - return ingest({value: value, label: format(value)}) + ticks = values.map(function(value, i) { + return ingest({ + index: i / (values.length - 1), + value: value, + label: format(value) + }); }); if (_.extra) { // add an extra tick pegged to the initial domain value // this is used to generate axes with 'binned' domains ticks.push(ingest({ + index: -1, extra: {value: ticks[0].value}, label: '' })); @@ -17896,7 +18267,7 @@ function DataJoin(params) { Transform.call(this, null, params); } -var prototype$52 = inherits(DataJoin, Transform); +var prototype$53 = inherits(DataJoin, Transform); function defaultItemCreate() { return ingest({}); @@ -17906,7 +18277,7 @@ function isExit(t) { return t.exit; } -prototype$52.transform = function(_, pulse) { +prototype$53.transform = function(_, pulse) { var df = pulse.dataflow, out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS), item = _.item || defaultItemCreate, @@ -17919,16 +18290,16 @@ prototype$52.transform = function(_, pulse) { out.encode = null; } + if (map && (_.modified('key') || pulse.modified(key$$1))) { + error$1('DataJoin does not support modified key function or fields.'); + } + if (!map) { pulse = pulse.addAll(); this.value = map = fastmap().test(isExit); map.lookup = function(t) { return map.get(key$$1(t)); }; } - if (_.modified('key') || pulse.modified(key$$1)) { - error$1('DataJoin does not support modified key function or fields.'); - } - pulse.visit(pulse.ADD, function(t) { var k = key$$1(t), x = map.get(k); @@ -17991,9 +18362,9 @@ function Encode(params) { Transform.call(this, null, params); } -var prototype$53 = inherits(Encode, Transform); +var prototype$54 = inherits(Encode, Transform); -prototype$53.transform = function(_, pulse) { +prototype$54.transform = function(_, pulse) { var out = pulse.fork(pulse.ADD_REM), encoders = _.encoders, encode = pulse.encode; @@ -18143,9 +18514,9 @@ function LegendEntries(params) { Transform.call(this, [], params); } -var prototype$54 = inherits(LegendEntries, Transform); +var prototype$55 = inherits(LegendEntries, Transform); -prototype$54.transform = function(_, pulse) { +prototype$55.transform = function(_, pulse) { if (this.value != null && !_.modified()) { return pulse.StopPropagation; } @@ -18252,9 +18623,9 @@ LinkPath.Definition = { ] }; -var prototype$55 = inherits(LinkPath, Transform); +var prototype$56 = inherits(LinkPath, Transform); -prototype$55.transform = function(_, pulse) { +prototype$56.transform = function(_, pulse) { var sx = _.sourceX || sourceX, sy = _.sourceY || sourceY, tx = _.targetX || targetX, @@ -18401,9 +18772,9 @@ Pie.Definition = { ] }; -var prototype$56 = inherits(Pie, Transform); +var prototype$57 = inherits(Pie, Transform); -prototype$56.transform = function(_, pulse) { +prototype$57.transform = function(_, pulse) { var as = _.as || ['startAngle', 'endAngle'], startAngle = as[0], endAngle = as[1], @@ -18439,6 +18810,8 @@ var DEFAULT_COUNT = 5; var INCLUDE_ZERO = toSet([Linear$1, Pow, Sqrt]); +var INCLUDE_PAD = toSet([Linear$1, Log, Pow, Sqrt, Time, Utc]); + var SKIP$2 = toSet([ 'set', 'modified', 'clear', 'type', 'scheme', 'schemeExtent', 'schemeCount', 'domain', 'domainMin', 'domainMid', 'domainMax', 'domainRaw', 'nice', 'zero', @@ -18455,9 +18828,9 @@ function Scale(params) { this.modified(true); // always treat as modified } -var prototype$57 = inherits(Scale, Transform); +var prototype$58 = inherits(Scale, Transform); -prototype$57.transform = function(_, pulse) { +prototype$58.transform = function(_, pulse) { var df = pulse.dataflow, scale = this.value, prop; @@ -18467,6 +18840,9 @@ prototype$57.transform = function(_, pulse) { } for (prop in _) if (!SKIP$2[prop]) { + // padding is a scale property for band/point but not others + if (prop === 'padding' && INCLUDE_PAD[scale.type]) continue; + // invoke scale property setter, raise warning if not found isFunction(scale[prop]) ? scale[prop](_[prop]) : df.warn('Unsupported scale property: ' + prop); @@ -18483,11 +18859,17 @@ function configureDomain(scale, _, df) { if (raw > -1) return raw; var domain = _.domain, - zero$$1 = _.zero || (_.zero === undefined && INCLUDE_ZERO[scale.type]), + type = scale.type, + zero$$1 = _.zero || (_.zero === undefined && INCLUDE_ZERO[type]), n, mid; if (!domain) return 0; + // adjust continuous domain for minimum pixel padding + if (INCLUDE_PAD[type] && _.padding && domain[0] !== peek(domain)) { + domain = padDomain(type, domain, _.range, _.padding, _.exponent); + } + // adjust domain based on zero, min, max settings if (zero$$1 || _.domainMin != null || _.domainMax != null || _.domainMid != null) { n = ((domain = domain.slice()).length - 1) || 1; @@ -18528,6 +18910,20 @@ function rawDomain(scale, raw) { } } +function padDomain(type, domain, range, pad$$1, exponent) { + var span = Math.abs(peek(range) - range[0]), + frac = span / (span - 2 * pad$$1), + d = type === Log ? zoomLog(domain, null, frac) + : type === Sqrt ? zoomPow(domain, null, frac, 0.5) + : type === Pow ? zoomPow(domain, null, frac, exponent) + : zoomLinear(domain, null, frac); + + domain = domain.slice(); + domain[0] = d[0]; + domain[domain.length-1] = d[1]; + return domain; +} + function configureRange(scale, _, count) { var round = _.round || false, range = _.range; @@ -18623,9 +19019,9 @@ function SortItems(params) { Transform.call(this, null, params); } -var prototype$58 = inherits(SortItems, Transform); +var prototype$59 = inherits(SortItems, Transform); -prototype$58.transform = function(_, pulse) { +prototype$59.transform = function(_, pulse) { var mod = _.modified('sort') || pulse.changed(pulse.ADD) || pulse.modified(_.sort.fields) @@ -18665,9 +19061,9 @@ Stack.Definition = { ] }; -var prototype$59 = inherits(Stack, Transform); +var prototype$60 = inherits(Stack, Transform); -prototype$59.transform = function(_, pulse) { +prototype$60.transform = function(_, pulse) { var as = _.as || ['y0', 'y1'], y0 = as[0], y1 = as[1], @@ -18779,7 +19175,8 @@ var encode = Object.freeze({ pie: Pie, scale: Scale, sortitems: SortItems, - stack: Stack + stack: Stack, + validTicks: validTicks }); var array$4 = Array.prototype; @@ -19234,9 +19631,9 @@ Contour.Definition = { ] }; -var prototype$60 = inherits(Contour, Transform); +var prototype$61 = inherits(Contour, Transform); -prototype$60.transform = function(_, pulse) { +prototype$61.transform = function(_, pulse) { if (this.value && !pulse.changed() && !_.modified()) return pulse.StopPropagation; @@ -19306,9 +19703,9 @@ GeoJSON.Definition = { ] }; -var prototype$61 = inherits(GeoJSON, Transform); +var prototype$62 = inherits(GeoJSON, Transform); -prototype$61.transform = function(_, pulse) { +prototype$62.transform = function(_, pulse) { var features = this._features, points = this._points, fields = _.fields, @@ -19415,10 +19812,10 @@ var atan = Math.atan; var atan2$1 = Math.atan2; var cos$1 = Math.cos; var ceil = Math.ceil; -var exp = Math.exp; +var exp$1 = Math.exp; -var log$2 = Math.log; -var pow$1 = Math.pow; +var log$3 = Math.log; +var pow$2 = Math.pow; var sin$1 = Math.sin; var sign$1 = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; }; var sqrt$2 = Math.sqrt; @@ -19700,66 +20097,6 @@ var clipBuffer = function() { }; }; -var clipLine = function(a, b, x0, y0, x1, y1) { - var ax = a[0], - ay = a[1], - bx = b[0], - by = b[1], - t0 = 0, - t1 = 1, - dx = bx - ax, - dy = by - ay, - r; - - r = x0 - ax; - if (!dx && r > 0) return; - r /= dx; - if (dx < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dx > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - - r = x1 - ax; - if (!dx && r < 0) return; - r /= dx; - if (dx < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dx > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - - r = y0 - ay; - if (!dy && r > 0) return; - r /= dy; - if (dy < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dy > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - - r = y1 - ay; - if (!dy && r < 0) return; - r /= dy; - if (dy < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dy > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - - if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy; - if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy; - return true; -}; - var pointEqual = function(a, b) { return abs$1(a[0] - b[0]) < epsilon$2 && abs$1(a[1] - b[1]) < epsilon$2; }; @@ -19776,7 +20113,7 @@ function Intersection(point, points, other, entry) { // A generalized polygon clipping algorithm: given a polygon that has been cut // into its visible line segments, and rejoins the segments by interpolating // along the clip edge. -var clipPolygon = function(segments, compareIntersection, startInside, interpolate, stream) { +var clipRejoin = function(segments, compareIntersection, startInside, interpolate, stream) { var subject = [], clip = [], i, @@ -19864,13 +20201,531 @@ function link$1(array) { b.p = a; } +var sum$2 = adder(); + +var polygonContains = function(polygon, point) { + var lambda = point[0], + phi = point[1], + normal = [sin$1(lambda), -cos$1(lambda), 0], + angle = 0, + winding = 0; + + sum$2.reset(); + + for (var i = 0, n = polygon.length; i < n; ++i) { + if (!(m = (ring = polygon[i]).length)) continue; + var ring, + m, + point0 = ring[m - 1], + lambda0 = point0[0], + phi0 = point0[1] / 2 + quarterPi, + sinPhi0 = sin$1(phi0), + cosPhi0 = cos$1(phi0); + + for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) { + var point1 = ring[j], + lambda1 = point1[0], + phi1 = point1[1] / 2 + quarterPi, + sinPhi1 = sin$1(phi1), + cosPhi1 = cos$1(phi1), + delta = lambda1 - lambda0, + sign = delta >= 0 ? 1 : -1, + absDelta = sign * delta, + antimeridian = absDelta > pi$3, + k = sinPhi0 * sinPhi1; + + sum$2.add(atan2$1(k * sign * sin$1(absDelta), cosPhi0 * cosPhi1 + k * cos$1(absDelta))); + angle += antimeridian ? delta + sign * tau$4 : delta; + + // Are the longitudes either side of the point’s meridian (lambda), + // and are the latitudes smaller than the parallel (phi)? + if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) { + var arc = cartesianCross(cartesian(point0), cartesian(point1)); + cartesianNormalizeInPlace(arc); + var intersection = cartesianCross(normal, arc); + cartesianNormalizeInPlace(intersection); + var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin$1(intersection[2]); + if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) { + winding += antimeridian ^ delta >= 0 ? 1 : -1; + } + } + } + } + + // First, determine whether the South pole is inside or outside: + // + // It is inside if: + // * the polygon winds around it in a clockwise direction. + // * the polygon does not (cumulatively) wind around it, but has a negative + // (counter-clockwise) area. + // + // Second, count the (signed) number of times a segment crosses a lambda + // from the point to the South pole. If it is zero, then the point is the + // same side as the South pole. + + return (angle < -epsilon$2 || angle < epsilon$2 && sum$2 < -epsilon$2) ^ (winding & 1); +}; + +var clip$2 = function(pointVisible, clipLine, interpolate, start) { + return function(sink) { + var line = clipLine(sink), + ringBuffer = clipBuffer(), + ringSink = clipLine(ringBuffer), + polygonStarted = false, + polygon, + segments, + ring; + + var clip = { + point: point, + lineStart: lineStart, + lineEnd: lineEnd, + polygonStart: function() { + clip.point = pointRing; + clip.lineStart = ringStart; + clip.lineEnd = ringEnd; + segments = []; + polygon = []; + }, + polygonEnd: function() { + clip.point = point; + clip.lineStart = lineStart; + clip.lineEnd = lineEnd; + segments = merge$2(segments); + var startInside = polygonContains(polygon, start); + if (segments.length) { + if (!polygonStarted) sink.polygonStart(), polygonStarted = true; + clipRejoin(segments, compareIntersection, startInside, interpolate, sink); + } else if (startInside) { + if (!polygonStarted) sink.polygonStart(), polygonStarted = true; + sink.lineStart(); + interpolate(null, null, 1, sink); + sink.lineEnd(); + } + if (polygonStarted) sink.polygonEnd(), polygonStarted = false; + segments = polygon = null; + }, + sphere: function() { + sink.polygonStart(); + sink.lineStart(); + interpolate(null, null, 1, sink); + sink.lineEnd(); + sink.polygonEnd(); + } + }; + + function point(lambda, phi) { + if (pointVisible(lambda, phi)) sink.point(lambda, phi); + } + + function pointLine(lambda, phi) { + line.point(lambda, phi); + } + + function lineStart() { + clip.point = pointLine; + line.lineStart(); + } + + function lineEnd() { + clip.point = point; + line.lineEnd(); + } + + function pointRing(lambda, phi) { + ring.push([lambda, phi]); + ringSink.point(lambda, phi); + } + + function ringStart() { + ringSink.lineStart(); + ring = []; + } + + function ringEnd() { + pointRing(ring[0][0], ring[0][1]); + ringSink.lineEnd(); + + var clean = ringSink.clean(), + ringSegments = ringBuffer.result(), + i, n = ringSegments.length, m, + segment, + point; + + ring.pop(); + polygon.push(ring); + ring = null; + + if (!n) return; + + // No intersections. + if (clean & 1) { + segment = ringSegments[0]; + if ((m = segment.length - 1) > 0) { + if (!polygonStarted) sink.polygonStart(), polygonStarted = true; + sink.lineStart(); + for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]); + sink.lineEnd(); + } + return; + } + + // Rejoin connected segments. + // TODO reuse ringBuffer.rejoin()? + if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); + + segments.push(ringSegments.filter(validSegment)); + } + + return clip; + }; +}; + +function validSegment(segment) { + return segment.length > 1; +} + +// Intersections are sorted along the clip edge. For both antimeridian cutting +// and circle clipping, the same comparison is used. +function compareIntersection(a, b) { + return ((a = a.x)[0] < 0 ? a[1] - halfPi$2 - epsilon$2 : halfPi$2 - a[1]) + - ((b = b.x)[0] < 0 ? b[1] - halfPi$2 - epsilon$2 : halfPi$2 - b[1]); +} + +var clipAntimeridian = clip$2( + function() { return true; }, + clipAntimeridianLine, + clipAntimeridianInterpolate, + [-pi$3, -halfPi$2] +); + +// Takes a line and cuts into visible segments. Return values: 0 - there were +// intersections or the line was empty; 1 - no intersections; 2 - there were +// intersections, and the first and last segments should be rejoined. +function clipAntimeridianLine(stream) { + var lambda0 = NaN, + phi0 = NaN, + sign0 = NaN, + clean; // no intersections + + return { + lineStart: function() { + stream.lineStart(); + clean = 1; + }, + point: function(lambda1, phi1) { + var sign1 = lambda1 > 0 ? pi$3 : -pi$3, + delta = abs$1(lambda1 - lambda0); + if (abs$1(delta - pi$3) < epsilon$2) { // line crosses a pole + stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi$2 : -halfPi$2); + stream.point(sign0, phi0); + stream.lineEnd(); + stream.lineStart(); + stream.point(sign1, phi0); + stream.point(lambda1, phi0); + clean = 0; + } else if (sign0 !== sign1 && delta >= pi$3) { // line crosses antimeridian + if (abs$1(lambda0 - sign0) < epsilon$2) lambda0 -= sign0 * epsilon$2; // handle degeneracies + if (abs$1(lambda1 - sign1) < epsilon$2) lambda1 -= sign1 * epsilon$2; + phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1); + stream.point(sign0, phi0); + stream.lineEnd(); + stream.lineStart(); + stream.point(sign1, phi0); + clean = 0; + } + stream.point(lambda0 = lambda1, phi0 = phi1); + sign0 = sign1; + }, + lineEnd: function() { + stream.lineEnd(); + lambda0 = phi0 = NaN; + }, + clean: function() { + return 2 - clean; // if intersections, rejoin first and last segments + } + }; +} + +function clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) { + var cosPhi0, + cosPhi1, + sinLambda0Lambda1 = sin$1(lambda0 - lambda1); + return abs$1(sinLambda0Lambda1) > epsilon$2 + ? atan((sin$1(phi0) * (cosPhi1 = cos$1(phi1)) * sin$1(lambda1) + - sin$1(phi1) * (cosPhi0 = cos$1(phi0)) * sin$1(lambda0)) + / (cosPhi0 * cosPhi1 * sinLambda0Lambda1)) + : (phi0 + phi1) / 2; +} + +function clipAntimeridianInterpolate(from, to, direction, stream) { + var phi; + if (from == null) { + phi = direction * halfPi$2; + stream.point(-pi$3, phi); + stream.point(0, phi); + stream.point(pi$3, phi); + stream.point(pi$3, 0); + stream.point(pi$3, -phi); + stream.point(0, -phi); + stream.point(-pi$3, -phi); + stream.point(-pi$3, 0); + stream.point(-pi$3, phi); + } else if (abs$1(from[0] - to[0]) > epsilon$2) { + var lambda = from[0] < to[0] ? pi$3 : -pi$3; + phi = direction * lambda / 2; + stream.point(-lambda, phi); + stream.point(0, phi); + stream.point(lambda, phi); + } else { + stream.point(to[0], to[1]); + } +} + +var clipCircle = function(radius) { + var cr = cos$1(radius), + delta = 6 * radians, + smallRadius = cr > 0, + notHemisphere = abs$1(cr) > epsilon$2; // TODO optimise for this common case + + function interpolate(from, to, direction, stream) { + circleStream(stream, radius, delta, direction, from, to); + } + + function visible(lambda, phi) { + return cos$1(lambda) * cos$1(phi) > cr; + } + + // Takes a line and cuts into visible segments. Return values used for polygon + // clipping: 0 - there were intersections or the line was empty; 1 - no + // intersections 2 - there were intersections, and the first and last segments + // should be rejoined. + function clipLine(stream) { + var point0, // previous point + c0, // code for previous point + v0, // visibility of previous point + v00, // visibility of first point + clean; // no intersections + return { + lineStart: function() { + v00 = v0 = false; + clean = 1; + }, + point: function(lambda, phi) { + var point1 = [lambda, phi], + point2, + v = visible(lambda, phi), + c = smallRadius + ? v ? 0 : code(lambda, phi) + : v ? code(lambda + (lambda < 0 ? pi$3 : -pi$3), phi) : 0; + if (!point0 && (v00 = v0 = v)) stream.lineStart(); + // Handle degeneracies. + // TODO ignore if not clipping polygons. + if (v !== v0) { + point2 = intersect(point0, point1); + if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) { + point1[0] += epsilon$2; + point1[1] += epsilon$2; + v = visible(point1[0], point1[1]); + } + } + if (v !== v0) { + clean = 0; + if (v) { + // outside going in + stream.lineStart(); + point2 = intersect(point1, point0); + stream.point(point2[0], point2[1]); + } else { + // inside going out + point2 = intersect(point0, point1); + stream.point(point2[0], point2[1]); + stream.lineEnd(); + } + point0 = point2; + } else if (notHemisphere && point0 && smallRadius ^ v) { + var t; + // If the codes for two points are different, or are both zero, + // and there this segment intersects with the small circle. + if (!(c & c0) && (t = intersect(point1, point0, true))) { + clean = 0; + if (smallRadius) { + stream.lineStart(); + stream.point(t[0][0], t[0][1]); + stream.point(t[1][0], t[1][1]); + stream.lineEnd(); + } else { + stream.point(t[1][0], t[1][1]); + stream.lineEnd(); + stream.lineStart(); + stream.point(t[0][0], t[0][1]); + } + } + } + if (v && (!point0 || !pointEqual(point0, point1))) { + stream.point(point1[0], point1[1]); + } + point0 = point1, v0 = v, c0 = c; + }, + lineEnd: function() { + if (v0) stream.lineEnd(); + point0 = null; + }, + // Rejoin first and last segments if there were intersections and the first + // and last points were visible. + clean: function() { + return clean | ((v00 && v0) << 1); + } + }; + } + + // Intersects the great circle between a and b with the clip circle. + function intersect(a, b, two) { + var pa = cartesian(a), + pb = cartesian(b); + + // We have two planes, n1.p = d1 and n2.p = d2. + // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2). + var n1 = [1, 0, 0], // normal + n2 = cartesianCross(pa, pb), + n2n2 = cartesianDot(n2, n2), + n1n2 = n2[0], // cartesianDot(n1, n2), + determinant = n2n2 - n1n2 * n1n2; + + // Two polar points. + if (!determinant) return !two && a; + + var c1 = cr * n2n2 / determinant, + c2 = -cr * n1n2 / determinant, + n1xn2 = cartesianCross(n1, n2), + A = cartesianScale(n1, c1), + B = cartesianScale(n2, c2); + cartesianAddInPlace(A, B); + + // Solve |p(t)|^2 = 1. + var u = n1xn2, + w = cartesianDot(A, u), + uu = cartesianDot(u, u), + t2 = w * w - uu * (cartesianDot(A, A) - 1); + + if (t2 < 0) return; + + var t = sqrt$2(t2), + q = cartesianScale(u, (-w - t) / uu); + cartesianAddInPlace(q, A); + q = spherical(q); + + if (!two) return q; + + // Two intersection points. + var lambda0 = a[0], + lambda1 = b[0], + phi0 = a[1], + phi1 = b[1], + z; + + if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z; + + var delta = lambda1 - lambda0, + polar = abs$1(delta - pi$3) < epsilon$2, + meridian = polar || delta < epsilon$2; + + if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z; + + // Check that the first point is between a and b. + if (meridian + ? polar + ? phi0 + phi1 > 0 ^ q[1] < (abs$1(q[0] - lambda0) < epsilon$2 ? phi0 : phi1) + : phi0 <= q[1] && q[1] <= phi1 + : delta > pi$3 ^ (lambda0 <= q[0] && q[0] <= lambda1)) { + var q1 = cartesianScale(u, (-w + t) / uu); + cartesianAddInPlace(q1, A); + return [q, spherical(q1)]; + } + } + + // Generates a 4-bit vector representing the location of a point relative to + // the small circle's bounding box. + function code(lambda, phi) { + var r = smallRadius ? radius : pi$3 - radius, + code = 0; + if (lambda < -r) code |= 1; // left + else if (lambda > r) code |= 2; // right + if (phi < -r) code |= 4; // below + else if (phi > r) code |= 8; // above + return code; + } + + return clip$2(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi$3, radius - pi$3]); +}; + +var clipLine = function(a, b, x0, y0, x1, y1) { + var ax = a[0], + ay = a[1], + bx = b[0], + by = b[1], + t0 = 0, + t1 = 1, + dx = bx - ax, + dy = by - ay, + r; + + r = x0 - ax; + if (!dx && r > 0) return; + r /= dx; + if (dx < 0) { + if (r < t0) return; + if (r < t1) t1 = r; + } else if (dx > 0) { + if (r > t1) return; + if (r > t0) t0 = r; + } + + r = x1 - ax; + if (!dx && r < 0) return; + r /= dx; + if (dx < 0) { + if (r > t1) return; + if (r > t0) t0 = r; + } else if (dx > 0) { + if (r < t0) return; + if (r < t1) t1 = r; + } + + r = y0 - ay; + if (!dy && r > 0) return; + r /= dy; + if (dy < 0) { + if (r < t0) return; + if (r < t1) t1 = r; + } else if (dy > 0) { + if (r > t1) return; + if (r > t0) t0 = r; + } + + r = y1 - ay; + if (!dy && r < 0) return; + r /= dy; + if (dy < 0) { + if (r > t1) return; + if (r > t0) t0 = r; + } else if (dy > 0) { + if (r < t0) return; + if (r < t1) t1 = r; + } + + if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy; + if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy; + return true; +}; + var clipMax = 1e9; var clipMin = -clipMax; // TODO Use d3-polygon’s polygonContains here for the ring check? // TODO Eliminate duplicate buffering in clipBuffer and polygon.push? -function clipExtent(x0, y0, x1, y1) { +function clipRectangle(x0, y0, x1, y1) { function visible(x, y) { return x0 <= x && x <= x1 && y0 <= y && y <= y1; @@ -19963,7 +20818,7 @@ function clipExtent(x0, y0, x1, y1) { stream.lineEnd(); } if (visible) { - clipPolygon(segments, compareIntersection, startInside, interpolate, stream); + clipRejoin(segments, compareIntersection, startInside, interpolate, stream); } stream.polygonEnd(); } @@ -20028,71 +20883,6 @@ function clipExtent(x0, y0, x1, y1) { }; } -var sum$2 = adder(); - -var polygonContains = function(polygon, point) { - var lambda = point[0], - phi = point[1], - normal = [sin$1(lambda), -cos$1(lambda), 0], - angle = 0, - winding = 0; - - sum$2.reset(); - - for (var i = 0, n = polygon.length; i < n; ++i) { - if (!(m = (ring = polygon[i]).length)) continue; - var ring, - m, - point0 = ring[m - 1], - lambda0 = point0[0], - phi0 = point0[1] / 2 + quarterPi, - sinPhi0 = sin$1(phi0), - cosPhi0 = cos$1(phi0); - - for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) { - var point1 = ring[j], - lambda1 = point1[0], - phi1 = point1[1] / 2 + quarterPi, - sinPhi1 = sin$1(phi1), - cosPhi1 = cos$1(phi1), - delta = lambda1 - lambda0, - sign = delta >= 0 ? 1 : -1, - absDelta = sign * delta, - antimeridian = absDelta > pi$3, - k = sinPhi0 * sinPhi1; - - sum$2.add(atan2$1(k * sign * sin$1(absDelta), cosPhi0 * cosPhi1 + k * cos$1(absDelta))); - angle += antimeridian ? delta + sign * tau$4 : delta; - - // Are the longitudes either side of the point’s meridian (lambda), - // and are the latitudes smaller than the parallel (phi)? - if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) { - var arc = cartesianCross(cartesian(point0), cartesian(point1)); - cartesianNormalizeInPlace(arc); - var intersection = cartesianCross(normal, arc); - cartesianNormalizeInPlace(intersection); - var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin$1(intersection[2]); - if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) { - winding += antimeridian ^ delta >= 0 ? 1 : -1; - } - } - } - } - - // First, determine whether the South pole is inside or outside: - // - // It is inside if: - // * the polygon winds around it in a clockwise direction. - // * the polygon does not (cumulatively) wind around it, but has a negative - // (counter-clockwise) area. - // - // Second, count the (signed) number of times a segment crosses a lambda - // from the point to the South pole. If it is zero, then the point is the - // same side as the South pole. - - return (angle < -epsilon$2 || angle < epsilon$2 && sum$2 < -epsilon$2) ^ (winding & 1); -}; - var lengthSum = adder(); var lambda0$2; var sinPhi0$1; @@ -20681,402 +21471,6 @@ var geoPath = function(projection, context) { return path.projection(projection).context(context); }; -var clip$2 = function(pointVisible, clipLine, interpolate, start) { - return function(rotate, sink) { - var line = clipLine(sink), - rotatedStart = rotate.invert(start[0], start[1]), - ringBuffer = clipBuffer(), - ringSink = clipLine(ringBuffer), - polygonStarted = false, - polygon, - segments, - ring; - - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - clip.point = pointRing; - clip.lineStart = ringStart; - clip.lineEnd = ringEnd; - segments = []; - polygon = []; - }, - polygonEnd: function() { - clip.point = point; - clip.lineStart = lineStart; - clip.lineEnd = lineEnd; - segments = merge$2(segments); - var startInside = polygonContains(polygon, rotatedStart); - if (segments.length) { - if (!polygonStarted) sink.polygonStart(), polygonStarted = true; - clipPolygon(segments, compareIntersection, startInside, interpolate, sink); - } else if (startInside) { - if (!polygonStarted) sink.polygonStart(), polygonStarted = true; - sink.lineStart(); - interpolate(null, null, 1, sink); - sink.lineEnd(); - } - if (polygonStarted) sink.polygonEnd(), polygonStarted = false; - segments = polygon = null; - }, - sphere: function() { - sink.polygonStart(); - sink.lineStart(); - interpolate(null, null, 1, sink); - sink.lineEnd(); - sink.polygonEnd(); - } - }; - - function point(lambda, phi) { - var point = rotate(lambda, phi); - if (pointVisible(lambda = point[0], phi = point[1])) sink.point(lambda, phi); - } - - function pointLine(lambda, phi) { - var point = rotate(lambda, phi); - line.point(point[0], point[1]); - } - - function lineStart() { - clip.point = pointLine; - line.lineStart(); - } - - function lineEnd() { - clip.point = point; - line.lineEnd(); - } - - function pointRing(lambda, phi) { - ring.push([lambda, phi]); - var point = rotate(lambda, phi); - ringSink.point(point[0], point[1]); - } - - function ringStart() { - ringSink.lineStart(); - ring = []; - } - - function ringEnd() { - pointRing(ring[0][0], ring[0][1]); - ringSink.lineEnd(); - - var clean = ringSink.clean(), - ringSegments = ringBuffer.result(), - i, n = ringSegments.length, m, - segment, - point; - - ring.pop(); - polygon.push(ring); - ring = null; - - if (!n) return; - - // No intersections. - if (clean & 1) { - segment = ringSegments[0]; - if ((m = segment.length - 1) > 0) { - if (!polygonStarted) sink.polygonStart(), polygonStarted = true; - sink.lineStart(); - for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]); - sink.lineEnd(); - } - return; - } - - // Rejoin connected segments. - // TODO reuse ringBuffer.rejoin()? - if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); - - segments.push(ringSegments.filter(validSegment)); - } - - return clip; - }; -}; - -function validSegment(segment) { - return segment.length > 1; -} - -// Intersections are sorted along the clip edge. For both antimeridian cutting -// and circle clipping, the same comparison is used. -function compareIntersection(a, b) { - return ((a = a.x)[0] < 0 ? a[1] - halfPi$2 - epsilon$2 : halfPi$2 - a[1]) - - ((b = b.x)[0] < 0 ? b[1] - halfPi$2 - epsilon$2 : halfPi$2 - b[1]); -} - -var clipAntimeridian = clip$2( - function() { return true; }, - clipAntimeridianLine, - clipAntimeridianInterpolate, - [-pi$3, -halfPi$2] -); - -// Takes a line and cuts into visible segments. Return values: 0 - there were -// intersections or the line was empty; 1 - no intersections; 2 - there were -// intersections, and the first and last segments should be rejoined. -function clipAntimeridianLine(stream) { - var lambda0 = NaN, - phi0 = NaN, - sign0 = NaN, - clean; // no intersections - - return { - lineStart: function() { - stream.lineStart(); - clean = 1; - }, - point: function(lambda1, phi1) { - var sign1 = lambda1 > 0 ? pi$3 : -pi$3, - delta = abs$1(lambda1 - lambda0); - if (abs$1(delta - pi$3) < epsilon$2) { // line crosses a pole - stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi$2 : -halfPi$2); - stream.point(sign0, phi0); - stream.lineEnd(); - stream.lineStart(); - stream.point(sign1, phi0); - stream.point(lambda1, phi0); - clean = 0; - } else if (sign0 !== sign1 && delta >= pi$3) { // line crosses antimeridian - if (abs$1(lambda0 - sign0) < epsilon$2) lambda0 -= sign0 * epsilon$2; // handle degeneracies - if (abs$1(lambda1 - sign1) < epsilon$2) lambda1 -= sign1 * epsilon$2; - phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1); - stream.point(sign0, phi0); - stream.lineEnd(); - stream.lineStart(); - stream.point(sign1, phi0); - clean = 0; - } - stream.point(lambda0 = lambda1, phi0 = phi1); - sign0 = sign1; - }, - lineEnd: function() { - stream.lineEnd(); - lambda0 = phi0 = NaN; - }, - clean: function() { - return 2 - clean; // if intersections, rejoin first and last segments - } - }; -} - -function clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) { - var cosPhi0, - cosPhi1, - sinLambda0Lambda1 = sin$1(lambda0 - lambda1); - return abs$1(sinLambda0Lambda1) > epsilon$2 - ? atan((sin$1(phi0) * (cosPhi1 = cos$1(phi1)) * sin$1(lambda1) - - sin$1(phi1) * (cosPhi0 = cos$1(phi0)) * sin$1(lambda0)) - / (cosPhi0 * cosPhi1 * sinLambda0Lambda1)) - : (phi0 + phi1) / 2; -} - -function clipAntimeridianInterpolate(from, to, direction, stream) { - var phi; - if (from == null) { - phi = direction * halfPi$2; - stream.point(-pi$3, phi); - stream.point(0, phi); - stream.point(pi$3, phi); - stream.point(pi$3, 0); - stream.point(pi$3, -phi); - stream.point(0, -phi); - stream.point(-pi$3, -phi); - stream.point(-pi$3, 0); - stream.point(-pi$3, phi); - } else if (abs$1(from[0] - to[0]) > epsilon$2) { - var lambda = from[0] < to[0] ? pi$3 : -pi$3; - phi = direction * lambda / 2; - stream.point(-lambda, phi); - stream.point(0, phi); - stream.point(lambda, phi); - } else { - stream.point(to[0], to[1]); - } -} - -var clipCircle = function(radius, delta) { - var cr = cos$1(radius), - smallRadius = cr > 0, - notHemisphere = abs$1(cr) > epsilon$2; // TODO optimise for this common case - - function interpolate(from, to, direction, stream) { - circleStream(stream, radius, delta, direction, from, to); - } - - function visible(lambda, phi) { - return cos$1(lambda) * cos$1(phi) > cr; - } - - // Takes a line and cuts into visible segments. Return values used for polygon - // clipping: 0 - there were intersections or the line was empty; 1 - no - // intersections 2 - there were intersections, and the first and last segments - // should be rejoined. - function clipLine(stream) { - var point0, // previous point - c0, // code for previous point - v0, // visibility of previous point - v00, // visibility of first point - clean; // no intersections - return { - lineStart: function() { - v00 = v0 = false; - clean = 1; - }, - point: function(lambda, phi) { - var point1 = [lambda, phi], - point2, - v = visible(lambda, phi), - c = smallRadius - ? v ? 0 : code(lambda, phi) - : v ? code(lambda + (lambda < 0 ? pi$3 : -pi$3), phi) : 0; - if (!point0 && (v00 = v0 = v)) stream.lineStart(); - // Handle degeneracies. - // TODO ignore if not clipping polygons. - if (v !== v0) { - point2 = intersect(point0, point1); - if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) { - point1[0] += epsilon$2; - point1[1] += epsilon$2; - v = visible(point1[0], point1[1]); - } - } - if (v !== v0) { - clean = 0; - if (v) { - // outside going in - stream.lineStart(); - point2 = intersect(point1, point0); - stream.point(point2[0], point2[1]); - } else { - // inside going out - point2 = intersect(point0, point1); - stream.point(point2[0], point2[1]); - stream.lineEnd(); - } - point0 = point2; - } else if (notHemisphere && point0 && smallRadius ^ v) { - var t; - // If the codes for two points are different, or are both zero, - // and there this segment intersects with the small circle. - if (!(c & c0) && (t = intersect(point1, point0, true))) { - clean = 0; - if (smallRadius) { - stream.lineStart(); - stream.point(t[0][0], t[0][1]); - stream.point(t[1][0], t[1][1]); - stream.lineEnd(); - } else { - stream.point(t[1][0], t[1][1]); - stream.lineEnd(); - stream.lineStart(); - stream.point(t[0][0], t[0][1]); - } - } - } - if (v && (!point0 || !pointEqual(point0, point1))) { - stream.point(point1[0], point1[1]); - } - point0 = point1, v0 = v, c0 = c; - }, - lineEnd: function() { - if (v0) stream.lineEnd(); - point0 = null; - }, - // Rejoin first and last segments if there were intersections and the first - // and last points were visible. - clean: function() { - return clean | ((v00 && v0) << 1); - } - }; - } - - // Intersects the great circle between a and b with the clip circle. - function intersect(a, b, two) { - var pa = cartesian(a), - pb = cartesian(b); - - // We have two planes, n1.p = d1 and n2.p = d2. - // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2). - var n1 = [1, 0, 0], // normal - n2 = cartesianCross(pa, pb), - n2n2 = cartesianDot(n2, n2), - n1n2 = n2[0], // cartesianDot(n1, n2), - determinant = n2n2 - n1n2 * n1n2; - - // Two polar points. - if (!determinant) return !two && a; - - var c1 = cr * n2n2 / determinant, - c2 = -cr * n1n2 / determinant, - n1xn2 = cartesianCross(n1, n2), - A = cartesianScale(n1, c1), - B = cartesianScale(n2, c2); - cartesianAddInPlace(A, B); - - // Solve |p(t)|^2 = 1. - var u = n1xn2, - w = cartesianDot(A, u), - uu = cartesianDot(u, u), - t2 = w * w - uu * (cartesianDot(A, A) - 1); - - if (t2 < 0) return; - - var t = sqrt$2(t2), - q = cartesianScale(u, (-w - t) / uu); - cartesianAddInPlace(q, A); - q = spherical(q); - - if (!two) return q; - - // Two intersection points. - var lambda0 = a[0], - lambda1 = b[0], - phi0 = a[1], - phi1 = b[1], - z; - - if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z; - - var delta = lambda1 - lambda0, - polar = abs$1(delta - pi$3) < epsilon$2, - meridian = polar || delta < epsilon$2; - - if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z; - - // Check that the first point is between a and b. - if (meridian - ? polar - ? phi0 + phi1 > 0 ^ q[1] < (abs$1(q[0] - lambda0) < epsilon$2 ? phi0 : phi1) - : phi0 <= q[1] && q[1] <= phi1 - : delta > pi$3 ^ (lambda0 <= q[0] && q[0] <= lambda1)) { - var q1 = cartesianScale(u, (-w + t) / uu); - cartesianAddInPlace(q1, A); - return [q, spherical(q1)]; - } - } - - // Generates a 4-bit vector representing the location of a point relative to - // the small circle's bounding box. - function code(lambda, phi) { - var r = smallRadius ? radius : pi$3 - radius, - code = 0; - if (lambda < -r) code |= 1; // left - else if (lambda > r) code |= 2; // right - if (phi < -r) code |= 4; // below - else if (phi > r) code |= 8; // above - return code; - } - - return clip$2(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi$3, radius - pi$3]); -}; - function transformer(methods) { return function(stream) { var s = new TransformStream; @@ -21098,35 +21492,51 @@ TransformStream.prototype = { polygonEnd: function() { this.stream.polygonEnd(); } }; -function fitExtent(projection, extent, object) { - var w = extent[1][0] - extent[0][0], - h = extent[1][1] - extent[0][1], - clip = projection.clipExtent && projection.clipExtent(); - - projection - .scale(150) - .translate([0, 0]); - +function fit(projection, fitBounds, object) { + var clip = projection.clipExtent && projection.clipExtent(); + projection.scale(150).translate([0, 0]); if (clip != null) projection.clipExtent(null); - geoStream(object, projection.stream(boundsStream$1)); - - var b = boundsStream$1.result(), - k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])), - x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2, - y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2; - + fitBounds(boundsStream$1.result()); if (clip != null) projection.clipExtent(clip); + return projection; +} - return projection - .scale(k * 150) - .translate([x, y]); +function fitExtent(projection, extent, object) { + return fit(projection, function(b) { + var w = extent[1][0] - extent[0][0], + h = extent[1][1] - extent[0][1], + k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])), + x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2, + y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2; + projection.scale(150 * k).translate([x, y]); + }, object); } function fitSize(projection, size, object) { return fitExtent(projection, [[0, 0], size], object); } +function fitWidth(projection, width, object) { + return fit(projection, function(b) { + var w = +width, + k = w / (b[1][0] - b[0][0]), + x = (w - k * (b[1][0] + b[0][0])) / 2, + y = -k * b[0][1]; + projection.scale(150 * k).translate([x, y]); + }, object); +} + +function fitHeight(projection, height, object) { + return fit(projection, function(b) { + var h = +height, + k = h / (b[1][1] - b[0][1]), + x = -k * b[0][0], + y = (h - k * (b[1][1] + b[0][1])) / 2; + projection.scale(150 * k).translate([x, y]); + }, object); +} + var maxDepth = 16; var cosMinDistance = cos$1(30 * radians); // cos(minimum angular distance) @@ -21232,6 +21642,15 @@ var transformRadians = transformer({ } }); +function transformRotate(rotate) { + return transformer({ + point: function(x, y) { + var r = rotate(x, y); + return this.stream.point(r[0], r[1]); + } + }); +} + function projection$1(project) { return projectionMutator(function() { return project; })(); } @@ -21263,15 +21682,23 @@ function projectionMutator(projectAt) { } projection.stream = function(stream) { - return cache && cacheStream === stream ? cache : cache = transformRadians(preclip(rotate, projectResample(postclip(cacheStream = stream)))); + return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream))))); + }; + + projection.preclip = function(_) { + return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip; + }; + + projection.postclip = function(_) { + return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip; }; projection.clipAngle = function(_) { - return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians, 6 * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees$1; + return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees$1; }; projection.clipExtent = function(_) { - return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$6) : clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]]; + return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$6) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]]; }; projection.scale = function(_) { @@ -21302,6 +21729,14 @@ function projectionMutator(projectAt) { return fitSize(projection, size, object); }; + projection.fitWidth = function(width, object) { + return fitWidth(projection, width, object); + }; + + projection.fitHeight = function(height, object) { + return fitHeight(projection, height, object); + }; + function recenter() { projectRotate = compose(rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma), project); var center = project(lambda, phi); @@ -21476,6 +21911,14 @@ var geoAlbersUsa = function() { return fitSize(albersUsa, size, object); }; + albersUsa.fitWidth = function(width, object) { + return fitWidth(albersUsa, width, object); + }; + + albersUsa.fitHeight = function(height, object) { + return fitHeight(albersUsa, height, object); + }; + function reset() { cache = cacheStream = null; return albersUsa; @@ -21538,11 +21981,11 @@ var geoAzimuthalEquidistant = function() { }; function mercatorRaw(lambda, phi) { - return [lambda, log$2(tan((halfPi$2 + phi) / 2))]; + return [lambda, log$3(tan((halfPi$2 + phi) / 2))]; } mercatorRaw.invert = function(x, y) { - return [x, 2 * atan(exp(y)) - halfPi$2]; + return [x, 2 * atan(exp$1(y)) - halfPi$2]; }; var geoMercator = function() { @@ -21592,21 +22035,21 @@ function tany(y) { function conicConformalRaw(y0, y1) { var cy0 = cos$1(y0), - n = y0 === y1 ? sin$1(y0) : log$2(cy0 / cos$1(y1)) / log$2(tany(y1) / tany(y0)), - f = cy0 * pow$1(tany(y0), n) / n; + n = y0 === y1 ? sin$1(y0) : log$3(cy0 / cos$1(y1)) / log$3(tany(y1) / tany(y0)), + f = cy0 * pow$2(tany(y0), n) / n; if (!n) return mercatorRaw; function project(x, y) { if (f > 0) { if (y < -halfPi$2 + epsilon$2) y = -halfPi$2 + epsilon$2; } else { if (y > halfPi$2 - epsilon$2) y = halfPi$2 - epsilon$2; } - var r = f / pow$1(tany(y), n); + var r = f / pow$2(tany(y), n); return [r * sin$1(n * x), f - r * cos$1(n * x)]; } project.invert = function(x, y) { var fy = f - y, r = sign$1(n) * sqrt$2(x * x + fy * fy); - return [atan2$1(x, abs$1(fy)) / n * sign$1(fy), 2 * atan(pow$1(f / r, 1 / n)) - halfPi$2]; + return [atan2$1(x, abs$1(fy)) / n * sign$1(fy), 2 * atan(pow$2(f / r, 1 / n)) - halfPi$2]; }; return project; @@ -21696,11 +22139,11 @@ var geoStereographic = function() { }; function transverseMercatorRaw(lambda, phi) { - return [log$2(tan((halfPi$2 + phi) / 2)), -lambda]; + return [log$3(tan((halfPi$2 + phi) / 2)), -lambda]; } transverseMercatorRaw.invert = function(x, y) { - return [-y, 2 * atan(exp(x)) - halfPi$2]; + return [-y, 2 * atan(exp$1(x)) - halfPi$2]; }; var geoTransverseMercator = function() { @@ -21828,9 +22271,9 @@ GeoPath.Definition = { ] }; -var prototype$62 = inherits(GeoPath, Transform); +var prototype$63 = inherits(GeoPath, Transform); -prototype$62.transform = function(_, pulse) { +prototype$63.transform = function(_, pulse) { var out = pulse.fork(pulse.ALL), path = this.value, field$$1 = _.field || identity, @@ -21877,9 +22320,9 @@ GeoPoint.Definition = { ] }; -var prototype$63 = inherits(GeoPoint, Transform); +var prototype$64 = inherits(GeoPoint, Transform); -prototype$63.transform = function(_, pulse) { +prototype$64.transform = function(_, pulse) { var proj = _.projection, lon = _.fields[0], lat = _.fields[1], @@ -21935,9 +22378,9 @@ GeoShape.Definition = { ] }; -var prototype$64 = inherits(GeoShape, Transform); +var prototype$65 = inherits(GeoShape, Transform); -prototype$64.transform = function(_, pulse) { +prototype$65.transform = function(_, pulse) { var out = pulse.fork(pulse.ALL), shape = this.value, datum = _.field || field('datum'), @@ -21995,9 +22438,9 @@ Graticule.Definition = { ] }; -var prototype$65 = inherits(Graticule, Transform); +var prototype$66 = inherits(Graticule, Transform); -prototype$65.transform = function(_, pulse) { +prototype$66.transform = function(_, pulse) { var out = pulse.fork(), src = this.value, gen = this.generator, t; @@ -22032,9 +22475,9 @@ function Projection(params) { this.modified(true); // always treat as modified } -var prototype$66 = inherits(Projection, Transform); +var prototype$67 = inherits(Projection, Transform); -prototype$66.transform = function(_, pulse) { +prototype$67.transform = function(_, pulse) { var proj = this.value; if (!proj || _.modified('type')) { @@ -22049,12 +22492,12 @@ prototype$66.transform = function(_, pulse) { } if (_.pointRadius != null) proj.path.pointRadius(_.pointRadius); - if (_.fit) fit(proj, _); + if (_.fit) fit$1(proj, _); return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS); }; -function fit(proj, _) { +function fit$1(proj, _) { var data = collectGeoJSON(_.fit); _.extent ? proj.fitExtent(_.extent, data) : _.size ? proj.fitSize(_.size, data) : 0; @@ -22876,12 +23319,12 @@ function nap() { function sleep(time) { if (frame) return; // Soonest alarm already set, or will be. if (timeout) timeout = clearTimeout(timeout); - var delay = time - clockNow; + var delay = time - clockNow; // Strictly less than if we recomputed clockNow. if (delay > 24) { - if (time < Infinity) timeout = setTimeout(wake, delay); + if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew); if (interval) interval = clearInterval(interval); } else { - if (!interval) clockLast = clockNow, interval = setInterval(poke, pokeDelay); + if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay); frame = 1, setFrame(wake); } } @@ -23049,17 +23492,17 @@ var forceManyBody = function() { } function accumulate(quad) { - var strength = 0, q, c, x, y, i; + var strength = 0, q, c, weight = 0, x, y, i; // For internal nodes, accumulate forces from child quadrants. if (quad.length) { for (x = y = i = 0; i < 4; ++i) { - if ((q = quad[i]) && (c = q.value)) { - strength += c, x += c * q.x, y += c * q.y; + if ((q = quad[i]) && (c = Math.abs(q.value))) { + strength += q.value, weight += c, x += c * q.x, y += c * q.y; } } - quad.x = x / strength; - quad.y = y / strength; + quad.x = x / weight; + quad.y = y / weight; } // For leaf nodes, accumulate forces from coincident quadrants. @@ -23312,9 +23755,9 @@ Force.Definition = { ] }; -var prototype$67 = inherits(Force, Transform); +var prototype$68 = inherits(Force, Transform); -prototype$67.transform = function(_, pulse) { +prototype$68.transform = function(_, pulse) { var sim = this.value, change = pulse.changed(pulse.ADD_REM), params = _.modified(ForceParams), @@ -23357,7 +23800,7 @@ prototype$67.transform = function(_, pulse) { return this.finish(_, pulse); }; -prototype$67.finish = function(_, pulse) { +prototype$68.finish = function(_, pulse) { var dataflow = pulse.dataflow; // inspect dependencies, touch link source data @@ -24743,13 +25186,13 @@ Nest.Definition = { ] }; -var prototype$68 = inherits(Nest, Transform); +var prototype$69 = inherits(Nest, Transform); function children(n) { return n.values; } -prototype$68.transform = function(_, pulse) { +prototype$69.transform = function(_, pulse) { if (!pulse.source) { error$1('Nest transform requires an upstream data source.'); } @@ -24810,9 +25253,9 @@ function HierarchyLayout(params) { Transform.call(this, null, params); } -var prototype$70 = inherits(HierarchyLayout, Transform); +var prototype$71 = inherits(HierarchyLayout, Transform); -prototype$70.transform = function(_, pulse) { +prototype$71.transform = function(_, pulse) { if (!pulse.source || !pulse.source.root) { error$1(this.constructor.name + ' transform requires a backing tree data source.'); @@ -24877,13 +25320,13 @@ Pack.Definition = { ] }; -var prototype$69 = inherits(Pack, HierarchyLayout); +var prototype$70 = inherits(Pack, HierarchyLayout); -prototype$69.layout = pack$1; +prototype$70.layout = pack$1; -prototype$69.params = ['size', 'padding']; +prototype$70.params = ['size', 'padding']; -prototype$69.fields = Output; +prototype$70.fields = Output; var Output$1 = ["x0", "y0", "x1", "y1", "depth", "children"]; @@ -24910,13 +25353,13 @@ Partition.Definition = { ] }; -var prototype$71 = inherits(Partition, HierarchyLayout); +var prototype$72 = inherits(Partition, HierarchyLayout); -prototype$71.layout = partition$2; +prototype$72.layout = partition$2; -prototype$71.params = ['size', 'round', 'padding']; +prototype$72.params = ['size', 'round', 'padding']; -prototype$71.fields = Output$1; +prototype$72.fields = Output$1; /** * Stratify a collection of tuples into a tree structure based on @@ -24939,9 +25382,9 @@ Stratify.Definition = { ] }; -var prototype$72 = inherits(Stratify, Transform); +var prototype$73 = inherits(Stratify, Transform); -prototype$72.transform = function(_, pulse) { +prototype$73.transform = function(_, pulse) { if (!pulse.source) { error$1('Stratify transform requires an upstream data source.'); } @@ -24994,20 +25437,20 @@ Tree.Definition = { ] }; -var prototype$73 = inherits(Tree, HierarchyLayout); +var prototype$74 = inherits(Tree, HierarchyLayout); /** * Tree layout generator. Supports both 'tidy' and 'cluster' layouts. */ -prototype$73.layout = function(method) { +prototype$74.layout = function(method) { var m = method || 'tidy'; if (Layouts.hasOwnProperty(m)) return Layouts[m](); else error$1('Unrecognized Tree layout method: ' + m); }; -prototype$73.params = ['size', 'nodeSize', 'separation']; +prototype$74.params = ['size', 'nodeSize', 'separation']; -prototype$73.fields = Output$2; +prototype$74.fields = Output$2; /** * Generate tuples representing links between tree nodes. @@ -25030,7 +25473,7 @@ TreeLinks.Definition = { ] }; -var prototype$74 = inherits(TreeLinks, Transform); +var prototype$75 = inherits(TreeLinks, Transform); function parentTuple(node) { var p; @@ -25039,7 +25482,7 @@ function parentTuple(node) { && (tupleid(p) != null) && p; } -prototype$74.transform = function(_, pulse) { +prototype$75.transform = function(_, pulse) { if (!pulse.source || !pulse.source.root) { error$1('TreeLinks transform requires a backing tree data source.'); } @@ -25137,13 +25580,13 @@ Treemap.Definition = { ] }; -var prototype$75 = inherits(Treemap, HierarchyLayout); +var prototype$76 = inherits(Treemap, HierarchyLayout); /** * Treemap layout generator. Adds 'method' and 'ratio' parameters * to configure the underlying tile method. */ -prototype$75.layout = function() { +prototype$76.layout = function() { var x = treemap(); x.ratio = function(_) { var t = x.tile(); @@ -25156,13 +25599,13 @@ prototype$75.layout = function() { return x; }; -prototype$75.params = [ +prototype$76.params = [ 'method', 'ratio', 'size', 'round', 'padding', 'paddingInner', 'paddingOuter', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft' ]; -prototype$75.fields = Output$3; +prototype$76.fields = Output$3; @@ -26181,11 +26624,11 @@ Voronoi.Definition = { ] }; -var prototype$76 = inherits(Voronoi, Transform); +var prototype$77 = inherits(Voronoi, Transform); var defaultExtent = [[-1e5, -1e5], [1e5, 1e5]]; -prototype$76.transform = function(_, pulse) { +prototype$77.transform = function(_, pulse) { var as = _.as || 'path', data = pulse.source, diagram, polygons, i, n; @@ -26641,7 +27084,15 @@ function cloudCanvas() { var canvas = typeof document !== 'undefined' && document.createElement ? document.createElement('canvas') : 0; - return canvas && canvas.getContext ? canvas : new (require('canvas'))(); + + if (canvas && canvas.getContext) { + return canvas; + } + try { + return new (require('canvas'))(); + } catch (e) { + return new (require('canvas-prebuilt'))() + } } catch (e) { error$1('Canvas unavailable. Run in browser or install node-canvas.'); } @@ -26682,9 +27133,9 @@ Wordcloud.Definition = { ] }; -var prototype$77 = inherits(Wordcloud, Transform); +var prototype$78 = inherits(Wordcloud, Transform); -prototype$77.transform = function(_, pulse) { +prototype$78.transform = function(_, pulse) { function modp(param) { var p = _[param]; return isFunction(p) && pulse.modified(p.fields); @@ -26730,6 +27181,7 @@ prototype$77.transform = function(_, pulse) { .fontStyle(_.fontStyle || 'normal') .fontWeight(_.fontWeight || 'normal') .fontSize(fontSize) + .random(exports.random) .layout(); var size = layout.size(), @@ -27053,9 +27505,9 @@ CrossFilter.Definition = { ] }; -var prototype$78 = inherits(CrossFilter, Transform); +var prototype$79 = inherits(CrossFilter, Transform); -prototype$78.transform = function(_, pulse) { +prototype$79.transform = function(_, pulse) { if (!this._dims) { return this.init(_, pulse); } else { @@ -27068,7 +27520,7 @@ prototype$78.transform = function(_, pulse) { } }; -prototype$78.init = function(_, pulse) { +prototype$79.init = function(_, pulse) { var fields = _.fields, query = _.query, indices = this._indices = {}, @@ -27086,7 +27538,7 @@ prototype$78.init = function(_, pulse) { return this.eval(_, pulse); }; -prototype$78.reinit = function(_, pulse) { +prototype$79.reinit = function(_, pulse) { var output = pulse.materialize().fork(), fields = _.fields, query = _.query, @@ -27153,7 +27605,7 @@ prototype$78.reinit = function(_, pulse) { return output; }; -prototype$78.eval = function(_, pulse) { +prototype$79.eval = function(_, pulse) { var output = pulse.materialize().fork(), m = this._dims.length, mask = 0; @@ -27181,7 +27633,7 @@ prototype$78.eval = function(_, pulse) { return output; }; -prototype$78.insert = function(_, pulse, output) { +prototype$79.insert = function(_, pulse, output) { var tuples = pulse.add, bits = this.value, dims = this._dims, @@ -27215,7 +27667,7 @@ prototype$78.insert = function(_, pulse, output) { } }; -prototype$78.modify = function(pulse, output) { +prototype$79.modify = function(pulse, output) { var out = output.mod, bits = this.value, curr = bits.curr(), @@ -27229,7 +27681,7 @@ prototype$78.modify = function(pulse, output) { } }; -prototype$78.remove = function(_, pulse, output) { +prototype$79.remove = function(_, pulse, output) { var indices = this._indices, bits = this.value, curr = bits.curr(), @@ -27259,7 +27711,7 @@ prototype$78.remove = function(_, pulse, output) { }; // reindex filters and indices after propagation completes -prototype$78.reindex = function(pulse, num, map) { +prototype$79.reindex = function(pulse, num, map) { var indices = this._indices, bits = this.value; @@ -27269,7 +27721,7 @@ prototype$78.reindex = function(pulse, num, map) { }); }; -prototype$78.update = function(_, pulse, output) { +prototype$79.update = function(_, pulse, output) { var dims = this._dims, query = _.query, stamp = pulse.stamp, @@ -27299,7 +27751,7 @@ prototype$78.update = function(_, pulse, output) { return mask; }; -prototype$78.incrementAll = function(dim, query, stamp, out) { +prototype$79.incrementAll = function(dim, query, stamp, out) { var bits = this.value, seen = bits.seen(), curr = bits.curr(), @@ -27363,7 +27815,7 @@ prototype$78.incrementAll = function(dim, query, stamp, out) { dim.range = query.slice(); }; -prototype$78.incrementOne = function(dim, query, add, rem) { +prototype$79.incrementOne = function(dim, query, add, rem) { var bits = this.value, curr = bits.curr(), index = dim.index(), @@ -27433,9 +27885,9 @@ ResolveFilter.Definition = { ] }; -var prototype$79 = inherits(ResolveFilter, Transform); +var prototype$80 = inherits(ResolveFilter, Transform); -prototype$79.transform = function(_, pulse) { +prototype$80.transform = function(_, pulse) { var ignore = ~(_.ignore || 0), // bit mask where zeros -> dims to ignore bitmap = _.filter, mask = bitmap.mask; @@ -27488,7 +27940,7 @@ var xf = Object.freeze({ resolvefilter: ResolveFilter }); -var version = "3.0.2"; +var version = "3.0.7"; var Default = 'default'; @@ -30063,7 +30515,7 @@ function utcquarter(date) { return 1 + ~~(new Date(date).getUTCMonth() / 3); } -function log$3(df, method, args) { +function log$4(df, method, args) { try { df[method].apply(df, ['EXPRESSION'].concat([].slice.call(args))); } catch (err) { @@ -30073,15 +30525,15 @@ function log$3(df, method, args) { } function warn() { - return log$3(this.context.dataflow, 'warn', arguments); + return log$4(this.context.dataflow, 'warn', arguments); } function info() { - return log$3(this.context.dataflow, 'info', arguments); + return log$4(this.context.dataflow, 'info', arguments); } function debug() { - return log$3(this.context.dataflow, 'debug', arguments); + return log$4(this.context.dataflow, 'debug', arguments); } var inScope = function(item) { @@ -30157,6 +30609,14 @@ function containerSize() { : [undefined, undefined]; } +var flush = function(range, value, threshold, left, right, center) { + var l = Math.abs(value - range[0]), + r = Math.abs(peek(range) - value); + return l < r && l <= threshold ? left + : r <= threshold ? right + : center; +}; + var span = function(array) { return (array[array.length-1] - array[0]) || 0; }; @@ -30255,68 +30715,6 @@ var scaleGradient = function(scale, p0, p1, count) { return gradient; }; -function exp$1(sign) { - return function(x) { return sign * Math.exp(x); }; -} - -function log$4(sign) { - return function(x) { return Math.log(sign * x); }; -} - -function pow$2(exponent) { - return function(x) { - return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); - }; -} - -function pan(domain, delta, lift, ground) { - var d0 = lift(domain[0]), - d1 = lift(peek(domain)), - dd = (d1 - d0) * delta; - - return [ - ground(d0 - dd), - ground(d1 - dd) - ]; -} - -function panLinear(domain, delta) { - return pan(domain, delta, toNumber, identity); -} - -function panLog(domain, delta) { - var sign = Math.sign(domain[0]); - return pan(domain, delta, log$4(sign), exp$1(sign)); -} - -function panPow(domain, delta, exponent) { - return pan(domain, delta, pow$2(exponent), pow$2(1/exponent)); -} - -function zoom$1(domain, anchor, scale, lift, ground) { - var da = lift(anchor), - d0 = lift(domain[0]), - d1 = lift(peek(domain)); - - return [ - ground(da + (d0 - da) * scale), - ground(da + (d1 - da) * scale) - ]; -} - -function zoomLinear(domain, anchor, scale) { - return zoom$1(domain, anchor, scale, toNumber, identity); -} - -function zoomLog(domain, anchor, scale) { - var sign = Math.sign(domain[0]); - return zoom$1(domain, anchor, scale, log$4(sign), exp$1(sign)); -} - -function zoomPow(domain, anchor, scale, exponent) { - return zoom$1(domain, anchor, scale, pow$2(exponent), pow$2(1/exponent)); -} - function geoMethod(method) { return function(projection, geojson, group) { var p = getScale(projection, (group || this).context); @@ -30792,6 +31190,7 @@ function intersectInterval(domain, lo, hi) { // Expression function context object var functionContext = { + random: function() { return exports.random(); }, // override default isArray: isArray, isBoolean: isBoolean, isDate: isDate, @@ -30834,6 +31233,7 @@ var functionContext = { containerSize: containerSize, windowSize: windowSize, span: span, + flush: flush, bandspace: bandspace, inrange: inrange, setdata: setdata, @@ -31372,8 +31772,10 @@ function compareRef(fields, orders) { return {$compare: fields, $order: orders}; } -function keyRef(fields) { - return {$key: fields}; +function keyRef(fields, flat) { + var ref = {$key: fields}; + if (flat) ref.$flat = true; + return ref; } // ----- @@ -32047,7 +32449,7 @@ function encoder(_) { function addEncode(object, name, value) { if (value != null) { - object[name] = {value: value}; + object[name] = isObject(value) && !isArray(value) ? value : {value: value}; return 1; } else { return 0; @@ -32178,8 +32580,7 @@ var legendGradientLabels = function(spec, config, userEncode, dataRef) { encode = {}, enter, update; encode.enter = enter = { - opacity: zero, - text: {field: Label} + opacity: zero }; addEncode(enter, 'fill', config.labelColor); addEncode(enter, 'font', config.labelFont); @@ -32192,7 +32593,8 @@ var legendGradientLabels = function(spec, config, userEncode, dataRef) { }; encode.update = update = { - opacity: {value: 1} + opacity: {value: 1}, + text: {field: Label} }; enter.x = update.x = { @@ -32530,20 +32932,20 @@ var parseData = function(from, group, scope) { if (facet.field != null) { dataRef = parent = ref(scope.getData(facet.data).output); } else { - key$$1 = scope.keyRef(facet.groupby); - // generate facet aggregates if no direct data specification if (!from.data) { op = parseTransform(extend({ type: 'aggregate', groupby: array(facet.groupby) - }, facet.aggregate)); - op.params.key = key$$1; + }, facet.aggregate), scope); + op.params.key = scope.keyRef(facet.groupby); op.params.pulse = ref(scope.getData(facet.data).output); dataRef = parent = ref(scope.add(op)); } else { parent = ref(scope.getData(from.data).aggregate); } + + key$$1 = scope.keyRef(facet.groupby, true); } } @@ -32592,9 +32994,9 @@ DataScope.fromEntries = function(scope, entries) { return new DataScope(scope, input, output, values, aggr); }; -var prototype$81 = DataScope.prototype; +var prototype$82 = DataScope.prototype; -prototype$81.countsRef = function(scope, field$$1, sort) { +prototype$82.countsRef = function(scope, field$$1, sort) { var ds = this, cache = ds.counts || (ds.counts = {}), k = fieldKey(field$$1), v, a, p; @@ -32668,27 +33070,27 @@ function cache(scope, ds, name, optype, field$$1, counts, index) { return v; } -prototype$81.tuplesRef = function() { +prototype$82.tuplesRef = function() { return ref(this.values); }; -prototype$81.extentRef = function(scope, field$$1) { +prototype$82.extentRef = function(scope, field$$1) { return cache(scope, this, 'extent', 'extent', field$$1, false); }; -prototype$81.domainRef = function(scope, field$$1) { +prototype$82.domainRef = function(scope, field$$1) { return cache(scope, this, 'domain', 'values', field$$1, false); }; -prototype$81.valuesRef = function(scope, field$$1, sort) { +prototype$82.valuesRef = function(scope, field$$1, sort) { return cache(scope, this, 'vals', 'values', field$$1, sort || true); }; -prototype$81.lookupRef = function(scope, field$$1) { +prototype$82.lookupRef = function(scope, field$$1) { return cache(scope, this, 'lookup', 'tupleindex', field$$1, false); }; -prototype$81.indataRef = function(scope, field$$1) { +prototype$82.indataRef = function(scope, field$$1) { return cache(scope, this, 'indata', 'tupleindex', field$$1, true, true); }; @@ -32773,6 +33175,7 @@ var parseMark = function(spec, scope) { facet = spec.from && spec.from.facet, layout = spec.layout || role$$1 === ScopeRole$1 || role$$1 === FrameRole$1, nested = role$$1 === MarkRole || layout || facet, + overlap = spec.overlap, ops, op, input, store, bound, render, sieve, name, joinRef, markRef, encodeRef, layoutRef, boundRef; @@ -32860,11 +33263,20 @@ var parseMark = function(spec, scope) { if (nested) { if (layout) ops.push(layout); ops.push(bound); } } - if (spec.overlap) { - boundRef = ref(scope.add(Overlap$1({ - method: spec.overlap === true ? 'parity' : spec.overlap, + if (overlap) { + op = { + method: overlap.method === true ? 'parity' : overlap.method, pulse: boundRef - }))); + }; + if (overlap.order) { + op.sort = scope.compareRef({field: overlap.order}); + } + if (overlap.bound) { + op.boundScale = scope.scaleRef(overlap.bound.scale); + op.boundOrient = overlap.bound.orient; + op.boundTolerance = overlap.bound.tolerance; + } + boundRef = ref(scope.add(Overlap$1(op))); } // render / sieve items @@ -33343,11 +33755,24 @@ var axisTicks = function(spec, config, userEncode, dataRef, size) { return guideMark(RuleMark, AxisTickRole, null, Value, dataRef, encode, userEncode); }; +function flushExpr(scale, threshold, a, b, c) { + return { + signal: 'flush(range("' + scale + '"), ' + + 'scale("' + scale + '", datum.value), ' + + threshold + ',' + a + ',' + b + ',' + c + ')' + }; +} + var axisLabels = function(spec, config, userEncode, dataRef, size) { var orient = spec.orient, - overlap = spec.labelOverlap, sign = (orient === Left$1 || orient === Top$1) ? -1 : 1, - pad = spec.labelPadding != null ? spec.labelPadding : config.labelPadding, + scale = spec.scale, + pad = value(spec.labelPadding, config.labelPadding), + bound = value(spec.labelBound, config.labelBound), + flush = value(spec.labelFlush, config.labelFlush), + flushOn = flush != null && flush !== false && (flush = +flush) === flush, + flushOffset = +value(spec.labelFlushOffset, config.labelFlushOffset), + overlap = value(spec.labelOverlap, config.labelOverlap), zero = {value: 0}, encode = {}, enter, exit, update, tickSize, tickPos; @@ -33375,7 +33800,7 @@ var axisLabels = function(spec, config, userEncode, dataRef, size) { tickSize.offset.mult = sign; tickPos = { - scale: spec.scale, + scale: scale, field: Value, band: 0.5, offset: config.tickOffset @@ -33384,17 +33809,34 @@ var axisLabels = function(spec, config, userEncode, dataRef, size) { if (orient === Top$1 || orient === Bottom$1) { update.y = enter.y = tickSize; update.x = enter.x = exit.x = tickPos; - addEncode(update, 'align', 'center'); + addEncode(update, 'align', flushOn + ? flushExpr(scale, flush, '"left"', '"right"', '"center"') + : 'center'); + if (flushOn && flushOffset) { + addEncode(update, 'dx', flushExpr(scale, flush, -flushOffset, flushOffset, 0)); + } + addEncode(update, 'baseline', orient === Top$1 ? 'bottom' : 'top'); } else { update.x = enter.x = tickSize; update.y = enter.y = exit.y = tickPos; addEncode(update, 'align', orient === Right$1 ? 'left' : 'right'); - addEncode(update, 'baseline', 'middle'); + addEncode(update, 'baseline', flushOn + ? flushExpr(scale, flush, '"bottom"', '"top"', '"middle"') + : 'middle'); + if (flushOn && flushOffset) { + addEncode(update, 'dy', flushExpr(scale, flush, flushOffset, -flushOffset, 0)); + } } spec = guideMark(TextMark, AxisLabelRole, GuideLabelStyle, Value, dataRef, encode, userEncode); - spec.overlap = overlap || config.labelOverlap; + if (overlap || bound) { + spec.overlap = { + method: overlap, + order: 'datum.index', + bound: bound ? {scale: scale, orient: orient, tolerance: +bound} : null + }; + } return spec; }; @@ -33589,8 +34031,8 @@ function parseView(spec, scope) { scope.background = spec.background || config.background; scope.eventConfig = config.events; root = ref(scope.root = scope.add(operator())); - scope.addSignal('width', spec.width || -1); - scope.addSignal('height', spec.height || -1); + scope.addSignal('width', spec.width || 0); + scope.addSignal('height', spec.height || 0); scope.addSignal('padding', parsePadding(spec.padding, config)); scope.addSignal('autosize', parseAutosize(spec.autosize, config)); @@ -33688,15 +34130,15 @@ function Subscope(scope) { this._markpath = scope._markpath; } -var prototype$82 = Scope.prototype = Subscope.prototype; +var prototype$83 = Scope.prototype = Subscope.prototype; // ---- -prototype$82.fork = function() { +prototype$83.fork = function() { return new Subscope(this); }; -prototype$82.toRuntime = function() { +prototype$83.toRuntime = function() { this.finish(); return { background: this.background, @@ -33708,11 +34150,11 @@ prototype$82.toRuntime = function() { }; }; -prototype$82.id = function() { +prototype$83.id = function() { return (this._subid ? this._subid + ':' : 0) + this._id++; }; -prototype$82.add = function(op) { +prototype$83.add = function(op) { this.operators.push(op); op.id = this.id(); // if pre-registration references exist, resolve them now @@ -33723,24 +34165,24 @@ prototype$82.add = function(op) { return op; }; -prototype$82.proxy = function(op) { +prototype$83.proxy = function(op) { var vref = op instanceof Entry ? ref(op) : op; return this.add(Proxy$1({value: vref})); }; -prototype$82.addStream = function(stream) { +prototype$83.addStream = function(stream) { this.streams.push(stream); stream.id = this.id(); return stream; }; -prototype$82.addUpdate = function(update) { +prototype$83.addUpdate = function(update) { this.updates.push(update); return update; }; // Apply metadata -prototype$82.finish = function() { +prototype$83.finish = function() { var name, ds; // annotate root @@ -33780,40 +34222,40 @@ prototype$82.finish = function() { // ---- -prototype$82.pushState = function(encode, parent, lookup) { +prototype$83.pushState = function(encode, parent, lookup) { this._encode.push(ref(this.add(Sieve$1({pulse: encode})))); this._parent.push(parent); this._lookup.push(lookup ? ref(this.proxy(lookup)) : null); this._markpath.push(-1); }; -prototype$82.popState = function() { +prototype$83.popState = function() { this._encode.pop(); this._parent.pop(); this._lookup.pop(); this._markpath.pop(); }; -prototype$82.parent = function() { +prototype$83.parent = function() { return peek(this._parent); }; -prototype$82.encode = function() { +prototype$83.encode = function() { return peek(this._encode); }; -prototype$82.lookup = function() { +prototype$83.lookup = function() { return peek(this._lookup); }; -prototype$82.markpath = function() { +prototype$83.markpath = function() { var p = this._markpath; return ++p[p.length-1]; }; // ---- -prototype$82.fieldRef = function(field$$1, name) { +prototype$83.fieldRef = function(field$$1, name) { if (isString(field$$1)) return fieldRef$1(field$$1, name); if (!field$$1.signal) { error$1('Unsupported field reference: ' + $(field$$1)); @@ -33831,7 +34273,7 @@ prototype$82.fieldRef = function(field$$1, name) { return f; }; -prototype$82.compareRef = function(cmp) { +prototype$83.compareRef = function(cmp) { function check(_) { if (isSignal(_)) { signal = true; @@ -33851,7 +34293,7 @@ prototype$82.compareRef = function(cmp) { : compareRef(fields, orders); }; -prototype$82.keyRef = function(fields) { +prototype$83.keyRef = function(fields, flat) { function check(_) { if (isSignal(_)) { signal = true; @@ -33866,11 +34308,11 @@ prototype$82.keyRef = function(fields) { fields = array(fields).map(check); return signal - ? ref(this.add(Key$1({fields: fields}))) - : keyRef(fields); + ? ref(this.add(Key$1({fields: fields, flat: flat}))) + : keyRef(fields, flat); }; -prototype$82.sortRef = function(sort) { +prototype$83.sortRef = function(sort) { if (!sort) return sort; // including id ensures stable sorting @@ -33887,7 +34329,7 @@ prototype$82.sortRef = function(sort) { // ---- -prototype$82.event = function(source, type) { +prototype$83.event = function(source, type) { var key$$1 = source + ':' + type; if (!this.events[key$$1]) { var id$$1 = this.id(); @@ -33903,7 +34345,7 @@ prototype$82.event = function(source, type) { // ---- -prototype$82.addSignal = function(name, value$$1) { +prototype$83.addSignal = function(name, value$$1) { if (this.signals.hasOwnProperty(name)) { error$1('Duplicate signal name: ' + $(name)); } @@ -33911,14 +34353,14 @@ prototype$82.addSignal = function(name, value$$1) { return this.signals[name] = op; }; -prototype$82.getSignal = function(name) { +prototype$83.getSignal = function(name) { if (!this.signals[name]) { error$1('Unrecognized signal name: ' + $(name)); } return this.signals[name]; }; -prototype$82.signalRef = function(s) { +prototype$83.signalRef = function(s) { if (this.signals[s]) { return ref(this.signals[s]); } else if (!this.lambdas.hasOwnProperty(s)) { @@ -33927,7 +34369,7 @@ prototype$82.signalRef = function(s) { return ref(this.lambdas[s]); }; -prototype$82.parseLambdas = function() { +prototype$83.parseLambdas = function() { var code = Object.keys(this.lambdas); for (var i=0, n=code.length; i Date: Thu, 9 Nov 2017 21:20:40 -0800 Subject: [PATCH 3/5] Patch Vega --- libs/vega.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libs/vega.js b/libs/vega.js index 32e53b2..215b5eb 100644 --- a/libs/vega.js +++ b/libs/vega.js @@ -12744,8 +12744,7 @@ var clip$1 = function(context, scene) { context.clip(); }; -var devicePixelRatio = typeof window !== 'undefined' - ? window.devicePixelRatio || 1 : 1; +var devicePixelRatio = 2; var resize = function(canvas, width, height, origin) { var scale = typeof HTMLElement !== 'undefined' From e015c216e08b6e51d9a6468504b7d9886655a783 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Thu, 9 Nov 2017 21:23:14 -0800 Subject: [PATCH 4/5] Add screenshot --- README.md | 2 ++ screenshot.png | Bin 0 -> 636219 bytes 2 files changed, 2 insertions(+) create mode 100644 screenshot.png diff --git a/README.md b/README.md index 845e2e4..9aa5afd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # PowerBi Custom Visual in Vega-Lite +![Screenshot](screenshot.png) + ## Install First install necessary dependencies with `npm install`. diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7213ec807b0b3430654500f73e56ba5457d164f9 GIT binary patch literal 636219 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 lW9Bo4HT@Z1bBHJNg%zbMKpI; zBjJpyruVr)priN>`5Y{9kLKo#D(Cu8#%A7TnD^!-(;A;-ulN3E7UXrdPu5nuHWWSx zlKJ5ukbVl^7sZ^})y($f{lgZ4OdovBNlW`F6^G)E{WYe@ofU#jO3;b7%xQSWd-7!9 za5G`loEO90b2^{WOyg5wGotXniEY}xWB)hX2Z^`?A+KjnPIATl2BQptJdl3&yJmIk z2F)DXM^Gs6f`QTp@-B71r%3d8BRl+I;khyxzT0(;$y=}e4>v{Al6W3o&hWj7AYxFu z(-ua~{T?X~U3yNx14)-A)RH#19$6E3=DES1aDuY9$c$(e3`d~86=7bYvAZevi_G;XMz35=emn{8iHcEi$-eISAwD$_eA#|ag3b=7X0MRB z2HHh*%`{I=?lX0k$N@D|9)b|tAT*`H$;!Y!4C0ug(7gGVNzfHtItI?pnMwlUl5}>y zd6w2p8z<41*=J*-dmlTKkYP33W-4#D&eb&uebX#Uzh!=EziBZg5>~RhCjz+hRBS#ee|U;n2$(L&mlRIgv?2wlsom3FaSn{kbE-xDJI^7 z7iikvFbWtm8E7TFG!?nl>c?)uM0TPPg^t6Hy&$L%z(iHAu;g5nRzN^tM>JQ*r-G5n zne0iXxcJZ=#3P^gASv97amQSs*ibxyy9sc{bkt%FC&enh`C^1Hzq5so-?&wiy3km1 zZ91#C5k@L+SAqZP<0Oc_-I3y&d7HuPgsn$W=jo1ILu=n`SxxYH_n%$P!%9x$x6dda zSLw2o?-sHiZ=Te+dfwEk7ys}Ucd?aI>i%)Vk!HO!*?|fKo|Be+3qx!4`u8d#yl$8# zqC4h5u(B2rf;X!$vrCS?s1r0;S@AACBDY~V<4vTg;tOo1|FL5e&ntLtgoZ3Ts<)1| z`Q&nss6o6x9$v&jDQ9dkVDMysP(!m!zSxhPH#p-pXFEs+zvRuV)tuc(gR~(DE?X&D z8tu)4cPA&R^16}xojT)ih)8ND;pE6i{=9g)0z0WL}H?vTX zYBy6%+s8jMK2Ug@m<)Vm^)yHXvNNrK`YJIYgPE(Of5rUU_=J7ajZF&8K*%frtq5R@ zscts6a7CCE5YO1&r`Neo4T8-XuBEaCpmc`mRV1}yJ3Ptg{@ivz`cX+*{kX}Q;j5bG z+TJ>Z+Ivh=4#(a0I1+^ClZ<-K%_mJ{qCM6H8kU>h^Lx?Z3s^Ixa_NC@o!?0QsTIe2?GFHSIn0v)a>0R(saDk9-|u!cHXMR|bXh_ukxngnmBr3Z_tk+;unaFA^;A z1AIh)_mSKh)5Nr~r^xfG&T4=Jj255~+_@`|eqt%u4jkxaz>xdWz2jL-+ED#^BPP`>q+Nsxd=d;N%0#84#59dx^6>c+1*+CFM zBsn9{e9X4?cDWV`!<+RjP+I(EBFuqi_5 zSUbS%OyE{@O$(ux_oRElCmcbdgVzR~5>rAOv#!}WNnVcpk7Vh8=TRry2zH**EDN|C zQ3}ya+uiTcD_`RZAQI@fGI$g)S!oso_!mI%I}tAb7*t@96;k@%$GjoT0K%3YRR|q8 z-ERwM@y_p+I~cAct@EpjQ&GrEfCKRufjo%r3nXM=`q_Hc#fM34(+ZS#JQEaCn@B3$ z&Hd^*E1$045TJ{EOpAajIIg{FxJyaBHxI`jg&YGEa5zb@Hm1{z5;NX`jR_}31!pi zkF5GSjYlp$!D8tMYDs8Wa9YlEXTkN>v(5=;tWIW^>gPwcz&s-QbkDOf>eL{t6t%S0 z(ymJe{z}bjF;{hqsx?Hv;0WfdAc0R_9}4Tu$&HEPeIKZwB>Bc_0k_!=X+l zlnmXTgBfjtYw+9Nroz5HaO*a&OA~S$j`b>ll$aJN^?qb<0VPM@Hg!nk$CD%8KU18! zM1^DZ&pbO_HzIYIZ@dxE+gQsXNW)SKsLyGJF_%L1JjZW?Co=!_$X9U*((5NB%%q>tIE_Kqa{c{z2$@ zwfdC9{?wN5*iu}F%}|=EJW4^OV%wD6Nj;_k3W!SuMlP00>nz0(iPYU5R+Em&Cpf@2 z&g;Uc{!<@ke@gQbfhQDHO_qR6rJ>dfii%j6_7=?+E&GU=Z00vx7_a0GTAB&B7sgYn z&+uMGQ9vP-%J-U4erhc3+FjlV;5{>XhT&kH>W=zb>5S7FB!Trb3z>*|z1?>7)zgQeDEZ;%&X!?@DCsML( zr>R!{JvL`FA4nfj`;^MXCykFJv8g;W(bo0d+HbfOvZB%LiSNV+O9B|_YX~VcKr!p! zzH}F5xa;f5xd@Br-aTm-dqphy~7l?9iRbdzNHIfiyL?Lt*R6$!6Kz>*Y( zb~xi}>9-XSV533$j7RA+lrV)jddkQLM1Xq{csfZXZinjM|2FIY`p(H}qA=ltGzaOE zwSo9W>a=(n_p_RnO71tV#mZ@(qfa}0hR!?gP+sZP9XWHXDt%$zXX;!j+>L`Jr*Y&j zu5sIm9q8SLy&Of3)C%Vxo@;^4V@5*rHzVcuyY{zHmXr>_&Ap^Y5~2G+k%+WV6vif<5=j&saN<1 z5?W4>J9{C`>D@v8Etqgd=exZ%0#TU()9&66?f^a*(4e7t?v&6}NBhjR#{2jfpXEqG-I9R8^d&pp6*5JFe1{%+fx zLed6=zayBYLN<|-PDRRS+S{wf{}}UgVj|*=Z;38D#8x9Au&nia^zo1%R*Q{KN>2ZD z8KB4PzC9?2G6QW-Pn2H19h6+_AuohH-=`XrIOXYB<97AB}2#Ba2ozWAB&lu{s)N8xs$jBPs?H!S(r)? z(E{Jtq_-{bj-${4BgnFfg$e{5(oT7j<05OOe|zF-(wS}0RdIugPP&#vp9|MB)+gAC zk@_xgKmCcYFMqEXVRH$iX{sJ>l`zp=n7!8~2ah3@R*axw&B=ot>Nypgdlw0y^Z;l7 zPc7%`AE9A?t(GG>jgh*ZJyZG}0(>k_&UC?2>2JKb??kk%s1sHv0`I}VJmCbc=eu~8 z(2%91n$x7kwD;qpokbYz`h)zhoBGe6nS23=OXMX*dTf{=@i|RlE4}9`@>p-}8zaV|!d$>?zg#g|Q3SR#OXOYhD8x zZiiKHUAIZey!1ZrTo==iv}zoF^2mjk;>cmR`SU0kWlvW`GT+>CbG#$aPJ)oq! zw~2M`toozf{mWQq_YO}eD=I62l)b76r`pK=GQ`i5&D0x&;_w-J-AO70Zd{?kPa3&MZNmcP0V7(3Y!)MDZRR60=;2PhJ_ zh$FtpcB@0+&cB)s>jJQ_a#E9MGoHxg&H1CU%3lp1AyHmJIO=B@msvbv32wIZ{ll^L z?rOe5GIPUzp!vn$UWKBRCyWPqRYrd0G^X&>zFm=iMDwArFY5z|&wuVSc!|zwHj};` zRfGba5^=Y#=Tx2>2akIk?5F*WksLs1vd(M%i)pggh<9PmfU6Fooo^v2=_1TRALopH zQ;7$C@9n1ib!Lg9q5C4avDWiI%9h6+fsP)V`7Ef)`YpfOP&Ih@xBwCw+FMa}gUtju z*3*TjNa0nsdJj8F$GD)#h}nTr`6m|*@_w0xug`A+g>kKVc_IIM_@iHhpX+F`oGwPSA&QG(e5`6P>Wi^GD%Y3|r)9eQ)&@(* z0Z*~J{`QF4Pr=!ky>Oty%^yDAtkZ|1-TF7i@fM6rGaJJ^5D9i_1G(pD_ZE?0|6O{6 zzYvC|;?35UW_nP~D~fbRQ~04Pp_JI(FE9bKr-p;@T zi=RL1LwLN$wpTaHsoSOCb>sGuM0%qq*WG$nPj&RHU$&n0FOwdWa6P~trMa$VUaZO6 z&e(pjg##$1w>HxvxV)K0PWdG4eB-osj5i2&2Ewzr32}(*|LI+&JG5=JGr3X4us8ui zK+!s$293?b6GMp3(zdHso9j?N07;>rSq(Bey{I64hI6Y-_SX;-95oQSZtY83fEU>2 zJ>n=6V}t$zqw2Sxr)%qM@MrVO#xgcfD-#@owmx=4v=%yJ*oZVDLX>ar4MBtjsj$C& z*X)SNL^Ccs)JnsZxO6QV8Xw?^7`~X-EC1XOP{TvS55HDGFKMS2dc8+!M5xdsm0=&? zlVpU40iWHKg`OzP;&0Q;cyU^ULU(wd%K2dm(KN{%keVh3$@!5T0^bf{>bc;L$F;;Z zcz|L3!{An~6jl%sKzK8h2gAm96)op&PhGh$M0j5C!3ewC9)L&-eN^ep_WS!ZxF64F zh$)Ou$U1B$k5D4vrEWKNf$?Jb=Mr(surCTJQt_letBQpMpm2bZJdX$RH_g{zSB0+@ zz6_?`h7H@jbw38bpyIkU?cZgg@Zx&TO||lTj1D324pfzOnE z@ztM5ZWXkGqG^P3x(16PoWd&f=bkdEsE7UWCVS&8<-n|r*iKuG zz{QY4COvi^PvkpzRLgVlfu<)0Me#Og5ZN*N;MPt3t1%CF1+(W1&&pF-_#R~>(b{;f zL@=RU6A#Er_?d6fRN-U+HFb%CED3NX1}N02uQ)d<0{7(AwclOV@91izU)W+z{8jf3 zMy>nIgiNp&E!_pRX20yyP6~-=A2rTuG{MFI4)ve^__(RyU8*pttB1qONtK3|V_G%nK=ESnTE&q>22}le7Esg|D9L1m z(S}HF7lH|8*JJb%k}=(C_}+y!uV2ZV1d+7fkR{M+*p0B4?L!z&(m;uo z+mNh2)H~7#6j-s(0I%12c6F~Wc13^mst0HV(5^S95=)PWN6r4hX0u>eVfJkHW--yz z&9!RkhEphAz>!*IFn_T5=l^vxHeQd_lR2aPrf1*U@4w{3z+arTZ?b-~4y5durLjUt0#It9Q^rlO!aX&ozoaV5>eKBLGR+4==Rxg(<^U!D6+rHTqC*nOck-BNwV)SG)J`xCfqLTG?nGEL$=TQ^4lg$e#}lw7<_8zIg!?uFc47& zKxk$YR$8T-VMflIfaKw%4X^b!)^` zTdx*ZX6M?ZSx6-Hi`O_jHjQ&iHx|tem=_DvaVPW}Z6)r=xM4dL$K1(FZGRT7Y-jSd zYP7R8^58_QgI}#sqGV+f?E1fhttI49+#dZ1|12F$b7WFNeogt&z!Zk4Cb>M(qM}<+ zRrA(AMkUX8C(VkpO`{iEWvVB#@3}AMYgGSKpbWLsq4%E~o~H{{w^nBDPL>FB)c3oX zquXQ5MLiW3**i%U)=1z9LnfqbOGP__b`;a3XNpK*oVvF&6Un_(MJ2NWpfH)Vgk(_R zdQia?FPKb2k&LuQ`2F}kJ0uoL^*~MB^p%$VjHWjQMNcZZ+3ERGi^ZeS%W|^oKnSMG zrDHQ{gR@ZB*13@O>=5QMhu*Yf#>lI1nt^M?1lG3V{YvfRQ}#{SBo=9V2D>m4hiBSL zgJX9{j5C0|!)5Pt^rPc$Y(ussd-bKKKwDWC3Vsns@6BChP~zZAwMcJvcbnE{s5l+T znC}lY5pidh-n?(svnGKzT28!G+e#@{&f^EkB>*C$^*i=7sv1fbduYq2)6t|6ib3#s zt*ex%AA%ofkQ$`=_qZRCRNINA;lE z^oyw$42Gp$87@nO%+GA55y2QIwynAoe#po%Zr+8ejem49@O&_b2lzyZsH15UJHHIX zNv<30DeNK6JwN~@{opz znr?~cBv;C3%C?k@cjJpas}u7Y$r7m3FT(;4HAE_xqi{BCb9e=s zg^I4%=RudQC~oM!F>_@`w^cx(N(skAJQYr>m5`am84g29??soD`p0Y;Bg&dYENM#v z`zh{S=R4z{OK!eu8tfs2f4{reNZyu7_#DC1kftF;Q>vn8O5SdE!xJOWBX`s}j%R zAj;H!YjQuRD*44uXcwiP``BuJUB%$#!R~$rr`toqsSbdA_hyr5 zANjs>NS$&j$a_2DuovZT~@n^=LZuPMR>*SykO2nO-*DobscS(DtZe9U2I28wb+*gp&Io%9bqhclOY6 zO2@zyIn6!IE#^+2)t(T~931Kpr>46b#r5GWNyO27e_qEPQboIuiFby^GIm=Z{Zuch zE#Ha5Ca~7^<*kA*ZoR$jnBNjAt`>KRPc?A~Jf8yC|7cVnp#KcC-&b^0?O!aCthWPp zI};hy#k{z4s_AnOf71z*_6%E><{A4>jm~ZhYv-fM?@s{+TnGWJRvdQR?(DXyj?c_9 z&HYKH42m;h)? zxK7dVYbUrUpaC?4QPZL4IP@ebyT_Bh_XS6M5_WotIQL8>ISw1~x|U);1S1E7M6XLPJ4{*<|VuN zZk*Q?-VtCN6fvji-GF*PTuXfr0POtR(>j5oKx^BBJ#N&h6m$Hp?}M=0XU%)Xr|bfS z66M1AcJqdHI>ee5omITIK~$M*QO+LfE}+G>ur|4zf%-|)Y~#m0@f74oZCeJU1bSP! z)7u|PmDG>}y;f$9l_&SQLYY{FrB04U{^|AKQJ{AEofL7YnIB&g4bJzn>*`q#v(d8V zI!KkwQg*7yBTlSypl*jf*TW(U1|~8KoJf%=QGx`>a16;Eu9P!#J9~02$*YXCrxB#Z zRK`{C82TxL2!%GiuK~HlWKR^k#qZ%Gb}>yY(SKXa-*Af9IGN+)UGHTbASId;RzC%S z^j_M7{4_Mefe^_G+RGIM=Xty;y?sNotg9u5ke`Q$)Gly;x1z*ORc59o zr5X=S3azj%M%QK0P9Zzqf<93;X-vM*81uzwTblVEAkF(mVX%R-;r-6f0weG>>6I@t zH)m7LXe4!A_>%DU{#dv3E8flP>dcw8b@1%W zT~^qd<<&I$MUo-hgP=?af*`IJMfHbq{Qd1u3}wi2fu2+}o3&w8Ah^D(AVirYa;EmXdN4Otd|ccQST6af$SZ_0ql>Zy(bpwI9oU!e{=n?8q~adI;Na$G-VrV zi8^TLK0J+-xCj|Yt?>E-D!NwOlO_EtL61kgJ*Ff0-tVBIvlig*Af>6##y{}U5Ifj? z`L{$O+x;@S=eoBS5lSw7dXoe#BGeDD)K`hgmXiuCLdcmNGd=_=es^^|AZ=OEc**vh zR=AGDWDB8+sp{jwy=7iXCCrH&@`W&_@0r&Fs8bv<%ASC3hqx&FJ9{ps?4VWUQXPh4 z&wqfqV%U$o#*rwQ+yuFrE=mc<87(4HUt5E7Qt2f}CT`em0ljntm}_%{*M_`oee=&M zyO;Lv>pWq5<6^O0BjKC~YM*fo)zXsBh86)Sm)%?0_^JiDizpM4d2G9P;sDF{LI+l+4Z5LY-9Z$m45@nP=ZqKf!WIfe*{8aRShY-J;ix(# z*UX~c45llPo*R!zlyLRl673PV_=vk?qtdbY%+Oz!{3+*?O=nYHiYiXb3Jm(nRni*!pPt#r3YN_R<0 zNjHdqNJ&X|cL_)%UDDm0{W#7z?>X=9otgK$&RM^;K7V{>&5S;u{p@}3`@Zh$x^6rN zMC6d3s4=9YF`@_Mne+>OH%j|nlhzkZxpn&AE<={QMO#^akjdDpNA-3T@Q7Avwt=c8 zOiSPdFZ{Mgo!MxV1$)fI%3iWFlL7wBa1dhsQ`iWfNAd<+1h+GL02O=JK);>k?Ki^f z-E$)s1HOnQ7$UA6q9&G`{rAl7weIV`zRT7T9~*PGqydc)$87r0pZ|i?y+S9Ev4-wQ zQm2E3{&266w?mBnDrEL`H{d=+8cyf$cG-V=@@xOEvUug3zRr23ACBCF4J*|{JexLM z#?e3*$@SF{_^#{=?X`o zF>;(TQ@`8Q{q8T)VU4^EE($VHJ|`9cN3le2*_G+wB&8On_7B+ju6^y?6APLOCXrgW z0BiB631hZw^?y}^NS4!8>#@N3)&YCw!Opreju|tf9+$A4T_ezeED&x}mvwx&n{tU3 z9plt0^zNv?Gi6zKvDVX?u;;SSjmgWQ70`d-#Ex>M2~S z8Go+~G94d_AeH}|Tf!+ef0l}!BhFSb;LdsZzJeOPx)YtX5k!fn1hC0Hn^vFJYEbK? z+Y--XUDCIbxDC~h@eNP{IEn4$8n|g1Vf}iTt?CPziY%&4g|nf0w;^Z+N~AX|D{o9K z`0(Hz;T2W^9vGSz1Jv?(N-`1x#pr_oa0=*~1flNXY8GfP;Aj7$I{#fx*i)Uc#*m31 zD!{ZLc>Id=B9|%^j5y6(t$etmdLs>P=I;3IHh3kO1#J3csb)V!R;n}=W~qdR7WT+4 z$Jct^LsTv3)pMKu@KiAIXs-K--w4VriaO;i^-Yx6$mcuZgsrq%TFUsR*rgQI@u@Dy zLb3WoHuIW3fhgbg-F6a}TbAmG1J{QICvMnyj}e=s(LZ`#%4+|nuRgi^-2I9=$O7Pv zj!IF=Z7R8OB46xNHk>gg^gf&nv)c80^2U*~QY2p<=t;yC`L2Od4=e7V*LUhNvgEtS z_&X=2yy`X}2~~9|<83lExPL<3a>segcnh_RZ~oQ|7=bq2e*BBCuB%xM1F2#Ryge|@ zQ-^YX4sbPc84I(U1=U+sCoY-6%!|!*dL#Btg-FOwZL=dVUX;h&T7p1$oHyTP6KAXw z9ao3HplFAZ^Q-;h<&OR_fuEZDL0PbfW3vm7H~rP8W^N*H0w49t`rJOCDzgGZ2g{c> zyNT;ZVT54m11N^_MLB;z4Z;Vorpx*#lj9(xX`ZK=VRQ;JXq+GmqMNUND9z3*3MfYN zErG96(xe)U;VsCR9;*jUn(OO5+0NYa!?y@fXH`aAN0YI3L*TL5HtT8K;cK7gDpRn) z=(+V`J^Sr9boGfxU(4cpj~xKz-Y1Bmin?!*x&0Xq7d9T*o`KBUigmZLjS3}q0D84o z(#(|XB&FW2E{N5z?uuDKn2SSNxWpqh+&UX_uc2meASfxQR<>?8VhE-8&aJr~FI%|y z@a2@3yR0?2IRE@E+3l904^B&qj#Nwrf)BlwdFaXb42T}#s<;}@Fr!OH^ac9bn7hbR zdFe8K%=y95SmgtGM|J;mUI;=KVE@^lg27C^?errF`PKRPhe^mskc41?B!vC6#peNL zoS91}1v;&Ayh>R^j#*ju;;ozWkEjykJ@pmfi|$7%fR~>e-yYXlrXR-3_KC?T`uYxS z9vYl)o{U&%_OlEKOxB&ibj2_<@>Cw__qM18A>ZI+D3jC%f9cd2IQelMn;xdSJ9YqTbF?8eL z{G?`GEHliSTi_qo$nPW?>+v1GivGTQ&mNE#+l=91bW%_^{Xomex;CKkbgXgzOrQ8% zB^Y!XR+$!pS=z!z45fA&8V>i9p7Qpbuo<wdkk)jb4=|+LZ+wUKqhrvQ@!HfLzy0+`k+2`yPJnEKQWNwQlm*n7cv_HZ&xTXo zxJ0gqZWyt_dUL|O*%i-5(d?F~4SP)(Q>+3d*+NbHxgbf5dfppl`z?=UMU}@R6l2@I zPHfAQ2sPU*jP3KXGuSqbWlEnW1=BIT(gMHa@Pse-(J0#k+F%=;otZ~+pRA6hetYeU z(U)3;yRaQ`i)ArK?RumP`kl4@g^{Ou#X9Y@liu788&J9I3S4J$v6jbidg%&{`ts<4 zeaxpV2bR&}l?~-t8$;V`OF_G;ol|F--s$!V4&5Y6@(R0+d@3kTD4FQ+rJ{dpsABPXpAdiaH;(m;|V!k&`a#l6g#3yn;MJ0_X333kZ~=x-qWMQh?!pGUvZ=#2Ij` zB51DeZq*wg5Em>$(Cm|jc(IBrNbXf<4bu#Xmp@^M`MgF8-waB;P35o_i8%Dws!r<6 zI>qeXLaWPI@iaVbQoNMt+ogWa&F(!;FVY&7IVtTL@gi%2xmeVs?$NrVQbz^^81&m} zh50!{n^tCeXch>q7hk!8iBs;!QyV0W!L)hjtCV#LF%l&M9u@(2i?{3B*=8S5Ygk)2 zqAgsBzb+G(3G}JB3^oV)=Ow21%2Y*QCrJgcW5<$Wuz|zDU3Pi59-apm1JWvR}@E{!)>-X>)xezu_>PK^4r1P=ebF5g4a0Sorv=QJ7QR~D^GJ9Rh|)wonxXPza1@L zW;7m?bs_EFUap}tNMJ)9u&%41EEBBiE zS03}`129r?k$QsY$L3uA5dBZgXw2niZ0Q5h&%UGlKGudvJvF@hFE*qaEN|4=U$Zzg za~99Wep6v!if!Xojcym2up?tK2n}k`gTLP)FhR`kJGO?vUby+-Dy1q~+I5OqNA*Aj&r6#5+v<0L9+iry=n^<}WK4MA z4F2SSu&6*(p4)7{+MxfGAn@)Ea^+V+ta}rS&$w`;rsf(E3)~ge{WCV>Ug&+9mVGoq zf%6`j$~f1@IU5wqqCWSfJ}%64D}`pY(|0R_dxy>#1}|K4+@873KYC6|_$%1(k4WFF z`ZkE&pqh(oSxD~yc7l%-+3guB5qX5^11!l3Dnpk4c}wDUCP(0D1JVeCzOgFiNGw&BhGB**)dQkH;je2+0FAb$5^2LKF|317q}P|XbH=8uyY zEIBpVFdlAr-|ZJop@eNInHhQsDoZw={*!lYcC(5Z;GXE)hRh1C=}U(dZ?P(Dn-+>|O}i0jqH~f2ovE_Ui}p`@iz?2A z5qEGx=kC2VZK)==@o*f}r~3pX^p0Wsbpe{yUPt@@uUkMN2$;L*gQ={Ws8r6YHQx@2 z{c7ugSi%X)qy@67q?KnS_h{75lNWZ08AEtV;?iqDb9=s;rQQUGdf(l$F~xz-Q5Zx) zh!Vl?Q|LZ}_KFn=8U5it-SRyKue9*zzcJN*bVeR>{YbIBu6{Kldj&F~s%Q9rRP`)6 z!%G{yh?E6-Nr9<4-#~e)-ILd;=E)Mu`3;8Ni4qbCKhx^ih z?VbEE4ie(*m1fL-VI-iYTRis072+G%**2W67b7QRtY&M4Lg8;8CUI~ry~_rmvQL1E zBfA7|(SAzrx&4UiYfbLSFg;6RD)f`0lUAI=_~h1U;6p^RxUGM6+rSISW4{;^4u(|y zt$zFGF+9?yMBsOoUlB0w)Nn0rexwn}Sblpa-m>mg4>X1e@X<-P?F|U)Kn@2=fwCPQlhKfl5C@7G^xaSuY&7e+-OyvE8>J|5-YjBlT> zYh8GFIc7;?Y-!k5W)@^nvR}06slcjjl!A8*upylO>$=qN;?i&LwuipdIFvLbB-6Qy z!}$%9ZY(EUlubpIAR*h_An-R%hxL<_|1D*H@ucA@lo)WCFm1*GQUC$EkA4BV!IDrd z1)LUsw>UbpqZA9@r2cCMu-JyeboJ8nklUI%9oVQ59RpOU*2D-ZOK$=~0u_DCwd7ub zj%-_Wc?}+uiE$&FP}MXNyS*}lm2=N5Bg~c10Ck~4oQ(n8 z;}vC`p7VJCJYYgPzDFhRrvPTi3aZuAH`p5TS>8r?ST)Bb3M>9c5@wC5jEon6-}7Fvv_)zwYjP>h3)WARtR+kg zVb=XuW(mFFDq86V(mM23YsS{rh+u7Al-aAJ66##cOh z^QJ7lYf>6P*nL;Wca|x~uC6;?ri=Gl;8pqbtfa~c<~gQ}1CX+tZA{M^D*?pD?D%!h zl`7Z|=vihv(ZfO=*Jsn^{@tAfp=<|9j{Sz{h|EO2Ln3Yn&rT-aI9Oj9N%?A+cr2o8 zl74AyRvLL<2_($lPWv2g&om?`STB+KK>k2%IxVDv~5!nWfaB3rc^qHec%hYDH z?w#RK`XKZ14{;)?!2ZKkBd_%mcw@kK?aX&pW9^$7dL6SYYkdMk3{KoTF3W+0M#`}7 ziPCbHqnN(>oQ6P8fKGl_F45)$I-Yg?E5Zw{XWRCbHZQV*O^xfKj-_TO&G}%`7?0H= zH$yfZYtmDI8`7&+_a`G*Qe*cyULNsn3F`#RMlC1?a*iu{=0~ZjB)zfWbY}-i+uLIs z_w-=QW7K2B{Tnm*X__`NIvti#oEj6%+C53Wmu!$<$m(q`5B(P?J!YSodd(L} z+ScnhJR>+>b-hPx+q`&0py%}JT#AY}J}Ku86_c<}Qw)m~9hs5P@K*^?u99hFpjfJl z5xd!%j7n1>x-BF%ymc<)Y&^%tybP$VU_+96Ol;jj`l>k6Tr>wpeKM{A;J*jo&-XVu zadLy8&M7rjv0?`&Dn=dQ@vRh^(}89cG%1}pObIo007ADwAT(gr9b-4u)8LTak&SOL zYQhh*|1fVueUqC<%D7}@;fhOoeFkAFc@IaZC)&Q#I&r8u4y`Y@F+{SU-Zpc*^y@>k!| zohV*%QJp>Q7Gp_?G@Rjmp>EtR#>4mi)ilDBanU+D(46c#Q~Hw^;X#nV^o18c<1!DR z|2@`zo-hM!T<5=5XWstg4d+@W{cwA)vR=>y++tXc4#rxybZSjUJa9+=M$b9q%P^7}Z`l2MglhJ<4iy!Q93*MB?0Z9*XmQ-s4M3 zCY-c%Ynwel-|1NQrYS?=$(`*TIs}88I5W%E-b@pFe6744=OYf_X4P<*1I-eYn#3%v zRR#TO2Q-v<#FB?&IF*WIlQ~Dp!|{dr8#6NJt^jNy!z?@W)2)i5FO}T~&Eb12DNhwA zCCz&FsN?asDI*$A`N-LVKefI)cWhg*9w zx1CQTv-AuUuY;Z>LH^kz#xZ>0h6%(Q_f9^F>Zm`$%seYuD(@FVfjNGQICXLAeEyi; zOIMO2mEB8Mt=nIYkEb!&Jb(R3IjpIfQ;&UTK>4YsFR;j`*FrcMh<<~#S%bD$B!Y1a zPy7-A;q$Ik2kWfU2RbINma^vvCmV5&vY+)o%s)Asn@Ivra2Ep4jy3>g>Y9jOZ9i{M zi(_d2BPL3M8zwj3z?>ZnD&<9A*OT(L+&qt;AP#ha3-BWh_Y$Aj%xe-clW5KE?8G2B zYOPq-*_V-J5?>t&!7i>4x?a};sX6i$(Q<7vsM}Zd=Q2?@nci!1AAz)VnQbi4lQY^D z{*8UuLcxPrQBQyByQnsfQlAG7)NU*41o(@N%>@qF!xoyFVkEW;lu5RkW}!~e2Fu5f z@-JIf6r4ztyqN@?2e*B*`{?9BjVi;{K!zx7XajIZ-$~1Q-cWRXMH~>v!Ndf9a8_ae`@T)4&@#9>ULqtHg z*>0HDnLJz9)8<+mhK5en4r(|?p|KlE|G^U9w? zfm-mt4%AX0P*;8K-Cae(SD04GS{qV7tn=8nK2^QvX38a#P8_q^=?#(mPPXb zn_!s9YQQqA!-~Gm$RsS#Zh)EgF3=_;H?WY5T0?%C5?s|d=O>RKi_nindpTpUe#B=3{!OCz=8vPZowN<$xM&9v z*#tY-M5Uf&NfqkC+}A>Qf%Zb}g_w@YQCj=i{d~LvQy;)X@%W6Ay%5kafF?lQ0WS~h zya}6P2o|+Jtje8>*GRKI2Wley{#oS(iNq}rTb=+?dwujf+f{}hmV4!-+c`ayJMQ1h zCl4<(O(rRCHg*HEp9H1$RwYM7b?Z(_+Vb?|oVn{eQdSG);zwm=0gqPX^J&Px7Z9F5 z^dh}1`Uo$3^n)O0QSbOMd10(Fy48`jxmtBSKYxuGY_tvw7>I-{HqVLka{llwC(Clz zSjyKX&}G9e|NKdfqnnJ%$F|a?>r6tQ`x{`+GGtWiS{0DM>Sv)Zr{z3(=9PBX>DG!f zom_*elq~is^i%|AlfI}0qqRntnL=aKFFw1_kmH@>3yd6Czt8N0+UuL1*t2;` zZIO6-qU&xtFe!mAdALM_liQN+wFhuG-s&Q<>LLu9G`9-uD9df|%{9_{A0j z4JXwj{X=(k0Z}A+qqFK5;RKQN6?&qh>Sb zySB9evd$WzcbXZu0D}}_96BJLP55ZhT1)ysIhZ>GQ8ivc$@)Bo)lMz-76?g$0JWp|cVbFJbDYBa)$hF0P*_8qhv;V(W{5xaN12oaj5-4-$;W!@Y+ za``Wxixm2!6`7rDSelwFyKxw|1P4su00MsQo0OS&Q#$pxYIrg-kFoI*j{6{@ejm~q z-2c`C|WI&LK!H>>H&`I%n9Y&BFYuPao<9zllXR479Y2v0QgwuBBFD z;5kP~{s!wmhuXkzLf65?E&T5KPxzwT4}6jJ7ryw9Iro(Z?t#eWdx)=+r6b5r^dkZg zm8ib&=(Q`Q;HcPjud7q-LKz?vK%C&IGSEtjHYx3ZB?329W}KB_lVvNmGBU&h#$z#( zO2VrHZgdM2_?Jsy^NAsMP_SXzRBjp-cEa&Vf!v$*6Ws+;CeY@o00)JKXK1P<=x?0JH>aS3R08i!~xk4x?cbOL79E&BffIW;>S3 zL=kx3G2Kbqfb&9J-m1HY{UJd3UMipfwF2+8tpJLlCWx-gOGd__7wfCB3f$rK zCuHu{JR^VfSWu0Se4^O%6|mYR884-e&^L~}b~v7PXs1_EZ9o)LuNmueivJjJ>|}4P zW8qD&88555N z=i?(ZSpYdT=(AI}u{=G|p2|h%m`wp-PpFVs*L7~e-DhTOzHDSA1l58FzX=RJ z>}#vT&1c-p;TLZFKqk|`GYq*&INa4m3HpY$(xQQ0&3VEsc~1WAxz3B@3*Z$tA5&Rb zN8OxAz8{c;YX1KXrKfwgu3SGo(1xYP{%T8~qx~dU^MZ z4N7Btcd@!H?X!~Y@6bIz5`+Q`oF7Gh*P-) znGeB^UO)wXxd=m~t(kI@qyrTJ;%7IYP(Ux25w!xe|CSg;1!2bkti-&g4|j=KUotd4^WK1pTWa_fb4KCayVPoOfvpQa#vk+m8 zDg$h$J3!%zFZ4`HDR!eOcSB3I}iwKGujov}Aw&NTD}J7d6=6H4)A<*6I}Yq*(70wDa78p<5;$ zllHtGdpQp8qfDnFJp24Gl=D7#DU@T(H{~ObapDs7cSi;83u3*O@E#ux+$+ongw(rU z`Swl^w80>Qd8MML@mJ!paNMBN<#=t}=dXX}sT1BBf-wE1l8jq)x)fx6z(nnfqlV8b z1o7@C$v5amKYh9j!|tQMVcqy-vbez&cb^Xd9 z5CN)?C>QY?fd^8H|0M9-riQku&aZ9y_l!e+m){Z_d66Q3O}c@_o0}UirS~WrvFC%A z1e?~4E}aQ>`P>p9h+n>k}9DK{|8>cOs8JNhojVPTarV&%-f5R zm@qE5C!d4ei!{=8j48ZRn1LtJStH}F*_iu%w#@*VTm+Jh#S2`u7ipgkRqbkuxe$@N zJ3jtNtpbHg0odD#H@34kq98v7kwM(;+G%HF!VOyD;F6M4n3hz!CIffx>kIE*i&UD0 zURO~}U5)b4Ugq7;{_T~3Dp4R`&Ll|P$s;)q+VI@k7xTF3#@sl5M`sCWi^ZN%^o}l^ zqIRBWJY;xzm5?%K!{%8FRdd{ADi(x1E_cyC%SSE0PZ!h39r zl%yIbjmPa2WCvV~L5||pNDc(Fvmt?f;?NWG`~pZxo&qhjANzlMjRLMvBa;+aGsE4) zsx?mm;0pFG$fPb1=yNa7zQg=#(EeB`Xu00$!$5xC%`JhL3tLELhEw@gP&>^sWz%u* z``4oLanyY#$D1ur-+3b(B!E3rOO~qi}VG_Y~2O{kfBugUtr*UWr_H~(f)JD z{^L6`KD4mrEw**g!qP$uI~qP}2Q4hpuZ2Z6h88yMf3mQM$hx-RZTf;NSZ2OSYl=x| zY6Xa&?xncybru4RT-(T;kSh%@w;dv~i=PtVZ;9(4kNNA1z&B88jjbMbiwU6<%!&$5&bn*jKN^ShJ3kpL)eln~zeun& z&72loKg>D)*tdWF@(~IL*n}gHF1KM8Xko0Z+MXEyh!mVqK^p)Id3gvzOdw>N|Joe@ z6TDtQMYlKq;@R*=ukT;K{28^uBLL5U(xf3JN5Ha9=mgm^O0 z->_1#miKQW?r#z7-5aoqinh-m{NRy8)-jFukdgzTjkpNy%AYnjKdfVV{txSz{%^Z> zzk31v4eC_kYy47N$eIdH5m<{fLu{-$0`}z6e@VT5oeNKdKUaA=R^WL!IP}w4(4m`) z;MY-p_v5bO{I4TDxR!qSwCiv{h7(B(A4>i|r)m95j*W~0o&nyN&Xx+C1+ur`D*gTL zv4!p)rj`FX;Re%#aG#H4As{~he}lixlA5*gpeDOdQ}D2$G5h;-S|n5c(^c z4M4<&=A=JRq`zxc_5WW3oqrUV2EdpTK%>9|vzuZZ$8fb>nL&e)Rxyjo)~>294Zk=B z^Xp0JEM8U5XFhkuTi`(d3}XVTn$G;A&?W%Ld;n!pRsq1ug6=jz zsdqrrPAR!*U}Wvg&!R(3ref`+_i=X|lToNsQ*fj{v6j>B>CVNFtWWHN_Sbj`THi=g zTq11}z7`a`0gdqA(CrB=m~sN-1?eDf`bD;l1|RCx6+c*^u${HXBND<`lu-9D_#L#MOqPaN0|NMn6h z_W#lTfp$b>!S^yx)3W#(v}OE#Kc@4=iibSsd!}>z{q;C0i3G=w#twVgz6Z~pW)UTC zWEXI&Yw#a8(asG@^uy1)->&BCOY3T0t_h;Uj?psLAUT@bh2Oe+d|{$TLew&FaCUol zDlzHV_+hkDlGHifz5wT!qqSGgP>ug1nt~8y`?KD>hR>C~#RKJ2vx|R3Y0b-6M_r}( zzqW6Cs-xocG*l}S;Jxi?V*eZ7`{x7%`tCJI1$N7MOE;{{=JA1ZQ0t1TzKZ2weAB$m zPJABE)bT;?T!Kd}!IsPVh;=%{@Yo@J(Ex#Nr;`?nP1suB?$!2OR`WDy35KbC@ghn3T1VltUmLcWv<9m zSxIgtEPuONzSmUtw4Wd#w}~+9l0C_$|EX6+Y~!cx&8Iz>O2pjyDvm^a-$Hn%c0FW$ zzG)nWS+(=0;yD?UuQq-PWB6eBTPP(0b~QU2B_l-C-mRyG{hl}e zt>py5FI32MB@WCTDZ%BQ3<~pS=eKjf+n?7TKdWjQ+*^%J5sPo2DK$+1+npwRYmAk! z{!yc9yg)v;G5em@#@Wec?a6%5T(ojdd4~H!TxFBgJ{`^s$9D~K{*y%_XqhtiJCnx_ z2UBqaVnURir;2y+P0kNEYCDeAbU1(pLo2E53=7)OUgSI1SKqFKRw%r5N!NwqjOS}) z^yAbfb8OYbQf4RXv>q*8E80EF%Q@e%AOC0FA%HkCcs*zTE!DYBt!4KL-T1h5T~MV? zZ}*fwyVQ~;VPs+VzFGT1V53nH^Uc?dxA$y33-3Qsxg|l;Fh@a(2#i}F***$OPBJap7g)}(SIz)$Gb3ScsN%C8?Z9I1yS)gy>yEf z-z2UaoN{90p&Z^`eS>r^{!*WlkLbM%F+O>AuIj;6hP?s_Q;%G+%Z!m%+Cf$@eZ zsSX^OMRvD<&Wnr?HU!TGQK}nWq_BQUE9ywgd2LA(NuR>I`(O5$u^jD}9y*ei4k}M5 zxp5~RIVhNhzZ)OzvM5{QgY}b1(j}HWsp58+{fHf(ouVYu>3n)R7r?i7=ui{LN-_{ zRY|Q|r||{44>(wmdh9I`zuZ-}&{t~AqdX!`P2Zlfi8>-q>@HTWNxYJ?mV7*wI-75lWMNY!%D|t?T+%z%Kl*jS zcUV;0ME!8nY~q_lzKFMxHf{CzhjTQ%6nB)-78tL&1f6yf!5gpw|KaoQAuI_K9YG0> zRi{*XgOyECPzsBRY~roGs_wcZgv`~tIgVr%DVi)bY`h~Biw`>A&`x3c$mYhkIam~4 zbj=R*P=^pW`ru@V?bB-xR7~%)FzWsI(cnE&881ijsyX*>osRP|?qhFm6%3y)e}DcS z_4n=L#S;GW=ef|wmE5;^`S*Su7jH85(d&l7CeI=s1kW4)>61r#6JR+0mJh5RDp9L! z)HH2RjU(6AA6;!OZjOs=Ez1~Vc5fIyfTcZr*lCn!V1hvQT*JBTK{*q;v{0y8|*tc+yy(_4s1f( zs4&f&pBEx>C47wA^l&~3f|DU+@MEcEQ)N{BB@$uE#{3 z38?{oGz1Ch9HY_HXQvXI85N0K-S@M<^t5;KV$G)?Kd=FN)hDU80EfY1x@u$wksLb8 zgRx&(1}a)LGTks!{a&)^g@LK z8_CZXr1F351-*-aY5w$y;pNMhWCf$9l|ml2FPK5X zxRs{!b(v~@^I)vYK4L;8=?-#oANwcG(6X7-iw%)2-Vc|Q!Uu!`R>(fve5mf};eenV}V1y8m^ZP1sdQ?L=OF94g&c3t* zjfjGREMTwcd9*Puba{FCTse!`h`7j>OFBJ0o#MI(bRoiqoYC-~=)_$j4}zus;|l*b zU%Wzu!7dV-GYDoXldl;6Ju)fqY#u3Re^+$T+`nRb2`e<`Om%q?{Sb}L&YiW78P;#) zU9c%QXGw_Qw()5gSWi-?tKIm7KT`?f(c6FVtGb{wZdGUGl@R()DNn9&%*pp#WywAJa~rnm zquQQxaNQiG#_yu^_RC)X_PgqKiD*aoFyZ_n*3SX`^n;hz&Gof4()w?*7=+4SJc2xr zfDzLH7zCf|o>`%<2`=*xvESaFOzGc$dkMftHlqnJp28<4Cr3Cj1m}Rgso?q1X1acR zsQjb&9xiP%hN&t$+GNnmwFNnUq$^$oS$3pI%Y*Q{rbPleDnYVv$FP5~!Iyq)@H(tc zd+v{i!=3gpS$e+S+|{lJ5z~YecAuU2 z5ntD|$BAOy5P!3sTTrKFh!$n$T_ui2j0j`ULruLsS$~*sIk>Y^XfJdZdUQ_2-va#2 zL2u4n<}9`>)5X1#`z({em#*f#TH@vh(PfI?`aWDH535nUI4UhpG_TSgf)NT-Ir$P> z7q$3Wnhqx&3^fYds=sz0vA6!X$VjVoR2)l_mUi+01M#d8)%_jWeXe+IX<{%ZOagxt z<}Y^3I>yJ0hQi$3r*IlO&b4snUBtsLz76xHKd;I?UMGW0?E;m7_0_d{9?=C`mL zfR$VS?Ck7J90q1{x;mDNi%a|wa@VNeeWhb4ys* z*hGPK9zF=5+`La!-7z|M0Lw*Py5ORj`06cWElihMx+S1f@m2Q5DEwcneiu4eeJd*~ zxj+FJF9AV(1fTYgmdoW7cFcy?QW0Am1mxMY@}TNyy@TvKl)~#GzOEti-llUu$2N+g zwtiYj@a!_5C<3b~n(jQTf6!rzQ}R5lS8?xAuIcy7KwS`?4O26*9G*RJa5;=+8hJyV;gwVyC5 z$3v9m0i1LDX(Z_`8H!-Qh35R=x17gVMc5(}=kFYA8*miJuYlQbq?(%Au=Z!yEt}MI zaSA=BG75_Qr&@a$tW@5Ot|AKb&_u;`#vvSB+%+Wa6By{SO;n101rE6PJ=~jrvBg+H zvaCBdR_giG=!uRB2md};j9y{M@89N_xWK=txmV}~s6EogmHnooR|Fx1P-qzhJM4@5!061;(qOv?0` zi%pHmn00x0*)~MOT}j_4u_(15za1$%r0z@E`sDcM`bf1P*xouN`x5D6Q($cO^{Xi4 zb}FGj-tF-M@@MULvVVh)*X0fMS~S5BnswX*$dEN5HMQR<`6V*g79iv%Q1EkjuKW>h0+nDAI2quD-I?G|nGI zFIonSX1?h0UEo?WruGfx6Do`$`ETdiU*d1qGVaod$dKyc3m`;f^I?gf&8yJG>~CPv zGDV>h?P20A% zu6&X6Q0@~63zHeFy*{QOBu;$p4iKFU!YQf7I?_EjNz5D*ytFm>`@3g_lKd1gk*LT#9MT)h+a7V^WFjFv8Nl9rHGxY?P5@X~vjKC^CPPGI#22j9Ct@CeF(v%Z+g>6K%4B?aCg8bMB=M zIV~N563`C4aUg{O*6*ts3Df6gg`7h$&ae(+OM*)9(j_~NwN{JK?I4|)(n$syQ2Iu- z$-WQFa9Oo0a3KtI7kH0N#9`$LqIBoVezv&ZBZg6WN|^M`*3lQ>Mq-5t>sCto4I?6a z^!G6$R&u7PVnZZ|=olrF6+O#{)kU0Ai{+(Df+puJ8fbK~#OR^wD{t>CM>_}JC$A#9 z2Qa&?f8H<7mnXSufmlsXOqSnua>8->?fQ}!l&%=pKu_i4?BbHIq5D?_QV!a{lTbkD zmeSmYirCXCP)Rpc*46PvI1u|r2{;Cy8M!}IzCZ}1T99L{&iX z@#6aGl9KeiLyYhJ@-=vBH;M0f52`g7&H%kuDkLQ2;pHCCtCMFEGo1zOSWT9h+wRN? zraNhtlQL$CIoHE5au zMn<%==hJvpaAazWikO`TgS3Rh_^(b(P@sw4FZxq>RgWNZ;R7(WlCPVJ@DwSA|Gb2s zyBFowUxd}?uLUUK{4_N+hlhtVu2$>b)}Ex73>P^DxDLiY`H+8>@<$GyKhZTl@PtBj zi25f6XuZ{05i z%CoO*R~IJL!XIXXkvneh{^h8-!#F5_h)(jNuzVo*o^@ciGonnZP|J+hB$R(QjJ zN(%9dUbQQH&htNR@RYNi4E}+oYNO1y!<1g{N=Z#i-aP!U_BG(st}PvV31*EYadC5x zXy;4G$mEFoS!*qNB#DQAo`^V8>tY?%NQdll zv&*wOxARr}ZzpYQ>}vzXF2@$mo2J@N_xgZ!@?~DL>glwt9NB5IlH|JKX=N0$Lj~926)_-y6(D+E^Y}tF&~?ldq*v9+ni1AtEoW zg^5Wg2b?*Y3hqz5;@!)}q>;F1iGL@(y5}`Vd^t!w2#2d70CYAam)qA@1?ep5{5Jwi zd?Xn@Yk*Yn;m9Z9_Vcghb&9J8#b-j`7xtxIZWvQEJ(E}?8NAcaxk9k?xw!ZVWE>6o zyuSn5-~9uS_C9mta2?6j5`i@8t0M*OrDp#uS#XlH=eD1|-Ne*|#= znnvX%c?a2$SoEeG>#<^|sR?PMlSk_vxS(X^Y~J-tIIeS=rR@(J;)J$h+REHa2sJNdMY;0I+=dlakC38DO zOwubLynp^M^NZk9odhcm^|!Q54g3B4+M6Pu%;~_f;}i=cVom6zyB+1pxkt&53Cu>Q zFZ-`A`g7{1nr%|gHKL*^F5em=I?&7K+Mg>BI=cP<=@F8 zudp%Ww32L8vK}P92}Dd8fEN3PqI63Q2LV|&%L5QV2fu3_bDjBnoWLInj;`*4VbKb1 za*=2=5%X#(*Q&t%S0uU9@uCq~Kb7PS+RbFx$a#pNw04dvZ3>PYbhALIp8 zf1y~;9*1}N5)zOGturdbBbIX&xr&odo$cLf`R~O-`3zz9#OK6R5D_!^v((V=x)?sy zUpYsJd->MHvTxO8W%aRgqEFz4V^{a)>_@fL<7+$pMGLDk~Ws z1Wx62ji#caqN_V|%@22iU!YMuO%WD}nq_T6cujVO*_fHZ5$loF*50nzW#cqT_dW0u z%#A?q?d{E<@s>wE(Y`*^K4@dFlNZ6m(hf8_1G*da)3VaiK~t^$`|I1=%A-+k9cN_T zQO6?~;X5(v7V>p%tRj;;;O5qN6@4gdK<$+voJYM~E8-Xk1M}V2^Xsm-PPR49)$u`X z&5Ynx#7<+xQ_ZH34>BV^Dgf*8L$%YFbp|nUau=C+EBDT;G^Nawes7Xm#%moNYv_y0 zX1TX<=9>S5Yf*&Se%vsYCbLdB%|;;@Mu^+v6#hG{_UW6Y9U$2gcz+eU>IfW|QR&=r z41F4y5}&473r_Pj`a!Wvzqn1Lr(7zSZqGY7Hy>dMEN@z zF$VBayc7LI^$WE&07RV;SpO4~Aecc`pV|GkTm^~5@BfIrDwxcYOoEda* zB@?vQF0m8IIFUpVlV5Ji!m5%nv54xIRGH7|Msrn-oi5F!j_{f$;=m{gprtbueQlHz z_B>wkxLSFxtt|^BFRP24kztoz(hKT4GTcGTx?GPS6EvSVtIlhu!Jp`2rcRiuJ?9II6sH!ul|wn3l~DWEx~ zs~5Z8=f93zbgN+4L%Ha+bT3&4#k#f~UDfcu{Obla^xuL-N!C9K78qwrdA=u+5OW&_TJ!dATae9;po9 zhKbi42<&3uhEA3YqoV@>zo-V73MqMn!vNE#I}`soHjI#g4n`URMHkHmZA@VDyN_ds zpBn~h>izs~zceu+1+QPXxT50YSb%oX{sC)FDZg9o%hBkW)X`?Lem3G${0d#_qR;*@ z&-mVCuHRL9??@*VK0wf#9v}7LN>o;2pSG4Cy&>N)`|Fi(9wq-%g_Vc)-VJ&yu`V8! zTW;w9P}}Zz+p<{$Q;?P3bD`IBqTgdOsn05!f(*St-v;Pt`g!XUy!rb{+DDJhF2>6+kBfyUNr{6mUD)XFE)TV@ zSv&nBEx{!F&z9fnx-@$lyFhmyMS_o{3tpXOFP5s`sn6!QdP=l#4UhA|YEFaP)ypNt z0_W)B|Hau`Kvmg(+oOtrbcq|JyGy!3noWmvgEZ11(w!SYx;v%2OS&6Ty1TpX%jft1 z-#f-VKab~(;TR5UxcB=$&suZMHP>9BSEI6eRD=%XMjQzL-R=G=NDe3*NWI@%q^*OV z>3dGO+9m8RUBB+e-K=EN$#IRlb=zo23uj=$^v)N7`&DK3wS(wzojg9Y$$Dz+a?p+J zYcjMa`ts%38LK<63QYCQ#-PXgfi(bOfn{$va}^&#H8lKIqmYmLDANWTq9LFwz~ozN zpVZ<=d6Sgz8cq_#i%zr?y{O`0@Jj4S;)(E))TdhxSf^D~BK9`D=`#T?t|tBjGCDee;$mqvGKJp~sc}4d9*-qHxTdz)kfX>gZhj)zKee4?saw*DBC{zAmB z`)nK>qMuS?wwmN>QL7)oG>c0tSOj(^^k&v`#@b7dcKsA-p(5^Wmp^u71rJxGYAMZXt6UPV0SHx_M&bscedo^s@g zN?|q{&3ttj(!HIVc}md+{pwY1^27Dt%wFp&nD~8DHs49+2zrM`73DR3uS~Rl_xU;& z_Qu9grMse+74_xwg z74LV-q>tBR!yL2u3&jdhuScJr09Y+yP2l^!5ImM`u4P`Yu9_B*-DnUNfO&I+UDaZM zNGq0<5|IjKy#{)LAE(}l_(74Q%$MFLNv2UmoxXaRb6!#t@cn~^+@lW9iH*lDBjx1{Ub zI&n&09QkhubtNd_6bf}A#>auyJ467BadC6{b4#8Hp|kV@9#Rq!beDi$=OB;D&20Z8s z^z`&&YirpzQB}Pv3g=;`MPsqfZG?AAFW(m$8e$5U2g{#qBw4E{Alc7{!jXMoB$04? zDm51P2zgz;901sX8&D?h@ca9UkN`~d2F44IEnz}M1+;Y!GDV{nK-$JHgsoc&Bmk|~ znC9`~3;H1bDR(5l1HLA&F9CZE0u+&r z82YR!lrZH=$N8BTdDrQ13ePrBw!v(hoC9TQOh7<@tW-*}g|551`#*IkJOcUE*x;aa z>@DE8CsX=)em4XIdjVkFsy+;W8i4t33Ff_ZS~TnpQorMK@V~l+lAvE;`oHOOs_Xk5T;BeR8QD#4mwr?SJ|JM>DH|g~Ns4Zl`y_HO=NR=M)UlmQLkrgP;f_s^~V> z{r!FQ1cb*U)WivX*RkG0L7{0&YZp?%xuW$`?1H#x?PMnTLG!UGJPg5^> z$u;iwOa!E&+TQ{NHWLF2z;r}=Rl4H|N5eDBWkTP~k-#h3k zQal2oT0t8=_#POJ7zaw!Gn;pS&H`rHhviSl&C&(<)E}?J!;pbUkemTsg=W)?h%}Q_ zClC1vY}w238R0!@d%?=i9_t9TySw}Tf(M@c6~JUErQJkhJO(Q%DZP41@{~VLft7Mu zB)B2df>`Jj{f(ne-zUP82obq>)C(5b=EU;Qa=wsljc`@;czu6@;yKmu2Z zYhZ=_heC#0o31gLHu!&(pG1t_;XpKtSP}ZfM8ebrEZ3Z5iR$$sVGa`^0Sj_6F$sFK z>YBkm?ZzDiuu0509eL>TfX)T;`GbqOdB_@{Jr!o=@UScn9v&I`@f#MZ1}%oD$$pG< zF%qPZS-BF*nIA3gjTqGZ&6q$M$NgDu`11ak@Ua|&kAZ<<9Dp;*BAozU>87Bh+y=JC zz5ndhCa>RCiwwwYpR`Pn|A`s~6T9Er%)%mz11Op%r>1g-M*xyu5^Q*?OOxM@w}^v_ zEBQd`4m6zmrTC@qdOYu50vT;R{{1~M9Fjdt9IAtqloXhVhVa?CZ=7~yD{mxf^vBvH zH~zGnXH=dsieT@yGECQa#6Pt+aU%ex9QQE6K>P_R5J68jw%Ig?Ao@2$L+Sxb$e3qx zna^-SgPxI}rigIxemcpvHLY&`bZYF{MXQrBt zDRM~bfVPc<1I*#4k{a zq3_$)->}FkdQ{><{H$6)AM;5jRP>635a*!f_G47*$ye0p^&x)mVkMk_g-baY3BiYl z9+x~fz{!*5 z#HSwB#ONqm3a71*XfI3dhBjk_QYKSw9M30f~fk_(^HzL zjH-RGg+)}Dxc z=Zxfav#jOGfG$6pB)0xF5phO%4m8wrpdeQ8d`{$IB*T z{rFrHfBo@Wfj*m^*PVyJlM>DWSa`i59bv(1nR(|4tO?kT6eq}tiFv&$KU7W3^sQbz z%25~%+jv><<)1$7@Kab$Jr++Vdo}{Jg8}M0xVyVsxr$Em2laCndEh%tr?$Di#s;r- z0B!`KL=0NDEPgydlq5VtV3sx7c2{e<8{zqJ~!nmchP=f>2zCr%1I;I}^@WK_4f%@nmA$ymF-BL6CR10=Kp56W+h zJ9U~*O1*z$)3D=)Qo>Y_{om03y3SC-n>}Xkp8#FJ&k;nZ&N&bMI-Wn#@cHcC0NcvW z#-<=A7cqD9TM?>?D=b=C8+qwW0f%IpcEP*K3s0hIt;89@9r@=EY(j9Os57nd~*xyAvBLx?t1zjts64du_1# z?tP5iVKq14fe&1}I!557oQwSnBES8$d=eN~Nl6_>xCL~+`fcP4Kp_+S>@EJEE(1F@ z@F-~?1yc~}Xgn#`TZI7LR3{=d(fu6L(k#2gNr0`QmkA^_erMnpkQZxaORn;Oto}`n zcEq|E#)UrRp4H}p9CK@HBoj07O-|&Ch|!fZ)7a+GVU5Gm(OYfQ2Q=)Gz&yXtKyXw; z{Wpjw|9xvIux)gE`&${n)W3$+S~&r<(Qs%Je;V-6^92aYvJ=#*L@2iV6$b5Vs{&e} z&&72`RIklYXcCz&LJ}PXwm)kZ35hDew4JC4YE2@=g1tMRe08Sesmg+kTt!o^PllKE z7KC-c!!EU2NsGC9j)B+5G~-%>WydK$v>CS>JFVe0!(W!-q-Dn@X+>8_D!z3@DnMKy zMQzdCs(8?>vI$&?B01Pg7(igK@NdjZm`aNXj_vqAUI2~7|MO9vC5*VhwlWc~c$7cp z>o6c+$9SesVdNKJS)GK3!X4O|UNOslxcW%WBu(*Z%{Wre&^J&cv1ziG8j>TjDyg9c zQ6P)ei`1V}!KBLkPLU=aj97bFJAN_rZmvAX7ph6ch+3Lb3~OuVCB=4cFUe2f%tUh_FlPOFI{|5{G>z%)VEmEIwnX-eU&ePy}&@ka<85*8Mg znTt#O#^xq9K?F+;rZ^+nj-^$0N|Mjy!j2N-8xv5c!`2#}%!v5pz51e9A|Mdn`FJ`u z-SRA@vHEMxG0wd^{hCR;0Uch>aRK?9ryB$qe#&~$V`65<@a@9Lt?5R6;0;yv+Gh_B z+4)~ndpQ&(#r@2kX&ND8A-sMVK-0aeecuD*oUkc25YDT$Oz+}{3l=Rw=i%uXSs%iroOv-xLqul$8$e3!p7 zpG!1~T?)AIO2%=1$Ae|2FG%p`3!S;Qqe7dOW_gIt7xKC$EW7;cYzB#rY1A>sT>brh z_sJC3fuP+Fv%zkWhr)Cc<^E0Pzu=#xsCxz|9*gE#Vz1#r5MUOC-=&Q^f% zP6-NEL2nDBPb`jVam*%fBE=#;VLx^Uju%>nqZiG@l!_g4~Mh7h0=?>_Yhj|{19+KX4j{!t1FWGv*kfoB}9c78m=x? z^EC;deQ(%}os29)shp3Id#PzUSIG;;4a@5DWYzC~aI}alUhk7h0{NB^kjo4H=t8H; zVFyWm;A10H8R;{f*{@zmYe6koPyVFkxWhXzlAYALbG138wzd``J$-n7^vNQ-1!6om zJ^@aGZ78swAcC3G2tPPm%lLX$%tM$>iIO^4p<40c|3A;@{FnVyV01Glb&h!mc>mHw zv{gtz=7S3T@W+&wf-xHeCEPkAh3`!d$70_9E>fjbax-TO;@oPN9RjT2p zS5}n4fz2_p(Op86L0Wn*Z}McaP>LFv$2)OGQ_h=$@ZA1;Wo0d@yr=V*#Csi$Wz0f3 z)RChZOngFuylYVl{X`K4OC$efy*5#-^ExvgM5IP_t*z41RXFbihu)|dj_wrB8FYwN zFAk%tE3qUhgu;|l*%iSQn6lLOh{aJStMi|DbI9lEHT+|)ee7k@Wa=9E(l|I-EH7@W zV3p7KM_o^xzefeyHFlLQ~=*=OCnIcK}>>l7$eWX_A}YQ8I# z;3JQrs>vIYdk1>MUMW$>HVfWwc3(p@IwXV=zRy;80+DSuq`w8Ac`BY1W&exGPAM${ zs7{RM2HbzT;+9NMPxZuU*hcSu5h<3r?Xuu!-18dPXhAD#jErD^a&C66PRAfnJ)!=T zwxYooTMeUNtu6DNrBYdlR-H(2uzR!yO=+9FpA>0lCuZIMwR*aRty!_l_wobwiRxa^<}YbR5etSB=k=C{(UXNd5hIqjB**|F|* zYQ^D^an)>kpFhxrg76R0WX4e;-?xcoa$;#q-5C5qn`UckZ$nDx6x%ixBVVRDAA{z` zMv`pz#S(^U%cA!pNCdUuerXY#)4_dpiqGN&YxJ6OZojVZ(Tw z8&TLWGNA_mAqR_is?_nF$=simTctSk>hePT8{ z2pt57U>j?pw||f8rH_UGpLt}M410B_`GVLsCQJ>oh@V5-m1)=S`jRK4MMeW$IUeyU z3}O&=82RxscVbW?MRyOUe`)CO!dnU9d+o`o z1?hdd+*j=x5m{-U)bQh_DY)3|!o(;x%@&v6f^Z#I;!KEjL`D#YrmT=KbPf1XCObe{A~*@jOn7}Z}6 zHH-%^)J4B*RV)k&#iQUQ8R!seAoRp=9%s%sC!5zNJS;BWky*&T#lOEZItYG6X{xVJ zZ1F~fNlO>1^QfO$oZNCP`d1$Gw;hv!3F5SydUNZKOIvZz9U+P8YdCt5c2Xu-Y*$GY zsh@cJ?0SjPTs4V0EIKGA(D=34ABucHinaeHrVv5bCK>;feL8_Z7CCKh!5zYd675tV` zs0ud1gpJ-#AdhN)Bj3<|fc9*3d6kYPY~sf~AK3*3=*@7c$X4*OB#wH>L8sS=7{Axb;jWBZdbG+G>~(ZM@}p$aDX?*Zdj zW7*m9_$&E=R$5BjUpLgD1I!+nPtlWf7(1Z43hF;-ELC@maS9kRBA-{Ea3i0Epgwv6 z`Ty+nt3N;mKcXXP-viQ7%i06ycGk_y0U+1Y1ioe)LvTuDV%lmX^_%8{N3+TT(;sb`#Hc(R+O_!*Z>G^iZ8D>gjPB2|1H1oZ{G8K!N6ScRmt?NN$%AM+!rb zl$fzPVeepPoSKPO&9r2lKD`+3V)*1>=Y2tlpGDf! z4TzS|Psn3|Xo3F@>)dXw1H_mox>0NC6p1)w5vQbAXL3j=|5*utf3GC#c}tp83!$#B z1>5~M1VPif=k?-axD;F!`pgN&#~Dn<<$BtQJD*-5>&R+r_9)=}5D!qKV^uyzT&K?z z9or?xpe8rMT+RrbIksgLFDQN78lf|OZ9G0AXZ%jD?g1tsr8wN-ypl0}Kk0J?iV#V^ z*~F%adJ~>frY<9`6M2QPp*=uE(kY4v0E(BG54+RFx#$j0*h$Y27>~;E(Cq5{iwQNlR<3RuQj$beA%&HDxEUp%;Hk zArfiA7NUi%txVGC;0F^h_QBlRp|Y(woV~U-zt=xB5{}Q+(oeRc&4wC>9DPU9?BY6~ zV^%D+``J*A8|DQx)xJgEO#>#II3;y6uV^SD3nmI<(PT@)SyPUHC%rt6^CrC9~dn@`22EEimU#nLor@9Y-r+mmDFKxRNp*oa0~`NnWR3Uce5|siGGb?fSRf4 ztU@3?RfR*l?uS$o&-~=Zh=^iX_gAo>>FZDOdF)R1{YJG^q}Q*r;Sj!l;~j*9QL

d2PG^JO4XRy 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 z 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

EGIsOt)SyOGhs@KysBM3# z^nbi5WmEgJ&zwK8ZkWpB63AR&r#go%cf5)al58adBX|nO8eWn-wcM9>jrax7S^%hj=5mJ`h(m ztx5NOO6NaL1V&=)h7}GV0@U`jCsZ(Wl2Ja-uk6480{>4`C20MlQ_qrhsw&&BF*rDy zGC9sC;n&^54&QqVO#Qp9ANxmmA#O&juw}L~`*5QSs;5(Mlv!T||21dwWxHqd^)1v_ zG^^Nz_Y=(T!yK(P7u@3}3Iik_2AQ6PDf?(~F4s9AG2x`Luowev;gh>bx5v#Wkq+!L zP7gU=jo8@sD4u))H;U6!=F~()P@PATuoI1bJx8PPjLdV?^Ba(V-|2i4P_W1<+upp) zJc{(zhh*H$-HeHQWoyJ*%Q9iU=@Fidz3ve6;G`k3HZhHZ;FUaY|-7-&7(JE#Ocl@lLLs4GOs$9kqnfURR!1CXh7WhAl zV7Y8S#TAM^rk}IjAbqRR^+6l@ah*f}ZMm?wYm4xpM{P`=#p>|Tz#M%$R=J1Si^Nvn zyq`4Q<6pV#12ea>l!%ll{T_M3`R1W=GaZ)j&U!StzBAs$T=s{kM;)R1ZnOa;v)#-l zoolXs(9H2cSl1ZJaNK-+IhBnlHym!e+gw0y7Q|%uS_|>&OuuS#R2*H`({AX_#Ork7 z+U5*0Gyea^d8!a#UVcM`va9SjY>~J8khXJF?DNA$Qf}PQ+MxQ)`%=TX zDP6_k-2D_peXCFNNZ+`1$A7+^KN>g=IlrN;y3(Hw7J(GrJ<7H&N$caQ#4xu*Vn?B8O2Z(H27+WFN$jMo{QXFxzR<=o=su+q&mdv2=BOPR zNEg=!$yvv0YDi{4QTr_g_cmFe2R2#G&*On$;&(cUpWIya_Q>0`2k4dUG1pJNsF{>_ zyyfPwn5uweg}ML$PVln*^<>0To#t_iGS%+v$bXdQO)R->n`2YO)P7he*gW9WgBwP? zG=3P#B0;rQaqHKxTRJ=z!)&Ap4phgukbvx{3=}4FY|0rme!Hs7ofv2)jlP*0TTjx- zIBMRg>Egmn>fC%#2==G|$Suvhsp>7L`GW$@a3w#EKv#&Vu^zWFC-ITQo~YC64v>E)Xx`TgSwU|os;t&*&O1+dFrTeT;I8GIfI_88%Ixkt)jMb zFR=^P|KOaY|IRjQxaK+eROBcxl%+3Z-fxQO^kWBm1oA9y6^}p6VV6xMwR;lG-42dK zOxE<=cj06ORsNGuO;0W$UCIKBrIWd%-+*y6`tcD*J1-3jB+FAlu=wCqO{fq_WNypa z{f>Xl%plu58*~-0uOVsaMvl|Nq;G(( z6JD~$!(eQb5X2BB+-@u~ma=g}GB(uTEg&_D8O4IacO;Zkr4yMU(i&j&03Gx24t;d#(!cF-VC{A7 z$0(J)LWq*r%!;@V0kFAZmIO>9|i5t z+EGH^imC*TWo$ciBDC20az%+~VX+VWYZ&NgOKjy@yh6*KtvFwcDDv^fT&C9DjkLDKYM>^LGj};f zCY8T&G-C{xBAS!!EJ^XrJ3vZfLaNB&lrWMec|P?1v8%%-ODQw{Kkpp z4b4%nrq-wD1p7-nfxSea`;^l2rmd2{%3L;&DbOJ4{ajOiCQ&+dYx)OCGI17K0C!}C z1E!fZ!w%nX4n~=mk0H7r(jyGHXde>O+_Yl6a!;Jkd)CX~QTV3#WO43`dc$k#e_tU$ zm+b0CCx((a5AoLA>ZWMuTEmOeUt(7^hYUAFSMhseFq6*eE)4uVjshEy?t|<9^=<1l zlN{n#QWN!FYB1ek5!ycW0hnDu(lPk{eM}Omi5EtSm?dBBi|!L_(I(W z0GEuj1Vq*G5j6O#)voogDoX?7`*6bYiZDXG7=_7|2a3$pf8hyycxNYmvH`Hd_C^V} zg8z*b=)oYll%2F|O37|U)>>Bg3$chuWw?(FME1taN!%`?N!tF6-7xVpk8;XyN3ZRq6=S>t})^WXXXlVgNP zEbRYj@7v>&zW4vv?bmLnTFrGTFI%p)vh+0aloxbcB{eH&rlcaYR+3Vg5)z=Y*0#!d zIi6CJ6jo*?2vmp$inevpRA63!B*ms83IfViMD+WnopZiB?flN@zuzA}|MKDE@p*q< zpV#~KdcN*2^Hv2gR8>S^WWh=jx50@*P%ar(v|yQ}s$x5+jl~fgVQf%h%&I;05EVl+jA<5qR0f zEgaH0EHa4iJYewL9dGIhAp@!8q0}VbUpuYZ#DV+N)<_gI_rJDFy%;f8E%|f8PwMB} zxh%n32?f{e<)CM$r zYU6QjuccwzhR?OwM=i&cD>{0+TIYRD46ryWBjW9BAh2{?j0BTJ_#nfZ5}YluDWZUJ z03kG(#@EGOY~GCswBF>8D>_M#KQbiY?Y~c1-~_7<(H((>r#;hLJwmu%>*?xt0jS*tTFV^l!}ZAN+bIyzm~fEehgA)Qvd}+%RbO+X)IMrpC<=doLn) z$bw}nSUW=C_TExF%}BIHMnsAWFrxvjs?^PT+qLDzI{d$KpT=1IbkFFv4IyQw6#^rc z4bM0AmV;F(E5w6uT#$21RdRHipR6ZHhM)aALg9{Uss?)qu}~nKmme30qIFfCPR$0z zmR`Y#>!q72APs|DSiWy4jB<#*R*dM?k*N-GDSF(iNpe zc4yLG_2-;zZN%vM^p;?ex~!PQvxuKTWraTc2!iC|JDYq7Sd(*vs30(ye+nh>Btfla zgFv+PL1%YTX$K!xQ9n%h*hF+1oFZokr%K&u0GWFtR)ExGjAmzjSL3dH42}oGBX%AS z4$980oKA0`{2JxCt>yTTm&(aGULE5e#OawN^oG$RY#FurxHFX)ko;FoG!(daKo!gl zGh-WRBsxOww7VK5R?wRtR~%BVc2`aHpd_TS)bq-lU4i9%kQwz9&$}UO1?iwYkpcud z!Ev4n57DcFWg&V&k&aqQ(i&Ucd}zdM!%fy9r`S04cTaKXmCeqMR9_(w{R;8dUN7OO z?sYn1>o4*rRyBXHZr1si}sWmkI@fUee44mXiRuGQ4IiI^iMchDseJfR>2x zn(-;6H8pcrqihB6O9PpZIP2r7zstdrjH&QL%CfG8rVmh%WwX!XuxbM8`M0;(D12wm z9y%N8Kik+HN?!eZg4;!R?u>Ew!O_(*ZNQ6(-&YUk9U9-?_(2Q=m@yK8U8zEeS z4zvTbj#{3(K{UrrdOs}KJhTAEhAiT4=jsEzjT<8>&_axOUbzfJ10Cq=W?&nH*fK51 zexx^PKzxh`c|+Qo<4%>uWgY!TG3~J*QyCpf^ARkUwVOoc3;zJ$e`^a)*8VEpaRRV$ zRz_X;o+O(^V9iht2y1GJSm=o?&{5oMj?v9HQ#AnSO>Zhd<~#F)=f#!0?pjt>iWDkn z!08q3AX+ZIVF|z-u2oi)@ac8%$JC zs)AX$LxDjJ8=F83E)urXInPjL>`4%Q^GfH(3EO%oh$gJ-;W_y~OfTsWk0Y!lUDuo~BUi3;?aq@REZaTc7E#jE z_pYpBIuODS)hqVHQy*MZN!y1Y>E>O&A7 zTXcZ_xaotb_M-~p4nN=2t@J#F&mM=wVKrkDAf!mi`y>bx36Hbzo3S>8F@uF7FjgdG3jzql4id%?9QFKV6=Ibf(U_R1 zYwt^YQl0wk7s5}aExVPm3|sHt5y*%4$}>Ro!Dn4Og|R^mkMobRT~|J#I7c~JX9A7~ z9mbY(X^a&+pl8+V^G?$PWQ$V2qrqN^!w2S`JJ7H)pxmiG8>^JjZ^pH{!MNj?8_Qv& z!j!#?DdG%pq70yK_8O6VbS)1E^jJX&b*<ef$N5}x94R<$__6uc_oJ187bZ0;)D)HvPb1&m) z{SfhNdl6kHP>%FC7wF36a@8fDN3hRX2a-CX$nRT%qs9JW^M*o@34=wdZt8aE3COay z9CsV)ZYVs{^zk8Wq*hq4VLhv);~0cGG|)xiz|e7x)vCac4}*2c4QlIVbJ!tqlzIIg z8e1JrnGVP!8WG*8N`efG(SzU?&DmJMsk}$kk5A!S*h0=#L$v6Cc`o3(WS;2~|5^3y+i+1HXmZKvM zJ{QKesDE0QpQ8bP!MmvFB(_S1%{x8B8~|-cX`r@AWIb;zGc~9Q?bdOyQ3ui$h^eFv zb#}`+uwf##w+)vuSxpeU&u)la#Z+n@W|F4H1lXY!Abj^1fKRx~2&9 zno!`Ujz1rXGC&wa4BxtuB&f`I;LUF4VzVCYukcXyghI{_TV4x_+vM$Sp6ueGLb!a_ zg8~RFc!Iqy!$3zmeNr$#7p87qM)959@Vx9!OzpQB#x5f0a_d-ut(6mFs$E|zGnM|fR{nD3fRHXuchakfLF*mOT|#F zL|qhX1lyVBKJj2TbyXECxZJ9@(Ww}KWMEu?n#0=_7m31=S zniH_?Z?C+vZfe)|Pxd?UH?YgO0s49H1wDR!tvDo=)-wt3qUg<=2c1dG?~#bCnSyu3dRJ*3%978O-iz&XIF^3Df6Mh*1h zqrc>~i9`3v_2CWLsG>d&e$h(_>iwl#yE`R+#}XC43hEC^T%n(2i1vL}ij}A^xPPiI z`vodC9|O}gvZMNz%wEu3*JBtSu>${|2(I7rT-+`CqJF0UP%G8BM|A;U$4T0oiLpT% z;!sKNAdlMjJgU03Ty|4xII%dXv>fTiu*ZaKewoCG&)IvO-!iF95{AiXe4Ta7l+TGi zd8gwzYb)}DFOn=mV@7xCC`byz^o2LF*mV!QQ`}&>NFk03L#~b*?4KF8%J6IzMm7Cr+RG3b?yMs*c|2s3 z`pEHJTBI_2Vvn<%jP2%VFH(I@)FY$CT<5h@eKS9hyye5J%x~wTeN+0#Csn$hJ8y)EMhJAp`64KiEo1~F zWlt ze(u^k`z4b{YH;4qlnh+Aue~xNdklx~cQ)G-qIL0hwSgEj%PCV9Gc|RRf*o z4HIyn$)1X#Irpu%QoXrMYvSf0bt+jDFD}evsJjp>xfKaQH}O&^38bmNB0-DuEnv81 z)u=g`DZYL91}L3f01qa2bjYFbe?ghm-o1dvGkWoG~pMF$#ISzM>is|JH*DzO)HxGBkYc!lT3fq(_Vdk*kvN|eLj26ng9cs!F=&6ga8wOzx0)0?8}-vI z(D4^&`7gl@SWn|M*Y0~PxBY(!1qI6fE~#Yz^-ZF)-DG1*n->ug0+(z&p6dzW8!{{M zA7!e}>9CaW{dNWBaHA^848kI3-GB<*KR?NO^7PrivB0!H8Mp}rd;$m3p4pw()3gX_v8vSV(oIhk?nj>m0apk@}@1zTB3h;yV|T z`perC+LM%Gse!JyUMd}W=W6>dIyNAS*#+=*`qk@T#uyFm^ zYx>;9vV_|`r5}+kjk*Z&D0_MjQ#JdJzd9|WJ4#yJEy=X;6qvjefr79#Sr*3$D9`Yd zWy@|Cs_xV_MELoIsxT`weRaw4x9`jzYb^EWqaIhtO>mudZD*c285{9F4HJ(U?v0kg zs|k{nO~t>X?02+|A3hVmC_eg?4u3RGkm2Kbq0nEMDbKQHn6jk!_d_-7tVn6mL`P=X z_rZ0^`!+Zvq{$02(?P95Vp{;m-V?}~`Fut+@AG!A8iW77c&WSA z2kp*dlU9qFl()mlO8w-8>6xHbM@%mI5{_dZA#wulPnRuZrnB5i{OPfexyhO*BLS2) zoQ;A)*h=+Ae~G)m&z{#__529rhKF4!ftWVZPxkgF2W3(7EZoEkZ~Z5se1WAIta}~z z5e1ErdwiB(kocFYK9bc(r2JI{7|B#v6E9(j{zn?B*?Mnr2W5ZpjG9Zn7CM`k#`E2G z5rdYMarl_N%zMc)Vn;wZAIWmdf1suqcz7Cew_lw%Qna;Rdb3GXp)$eQO-t?iuS7Ye zZ8B+Kz!tuzc9rmw_kU2D7wB6u8GNSv9B*}IIVDDSw0g`(-}Q7o4X$sSktifnX-puJ z7%2Mzk-LsM)7n3=ENONX6N8@(!wYR?Pk5w&nvnGip$ zYslA?vw{r0>Rq=@@R{M?h=_q$!!88_-Y@F&i=@5#@iXIsJkODAQ*JVm2hJ}e_>$V} zrWBG1^GeY?x+7JDodrc_Qd|nzeOaOpr9M{j$Vl z04l?vEyJ(y(Q6P6gtW-o!M}qxXVrw2{gXzWd9A_P9~<(~p#DLBWy@H9GX9UXWzO9G z^(RfA!>^~rbhXtD;KtgGH|yH9{D}UT!!Zf)&|=6wUx(!O6ffG?|0paaPldt6h?JP? zAIL1MphQz5evln}ko%=}Bquh(2S8U#ATm_ukIOQ-3kz{d$5E{Z&O9wO_8d@)$!03H zp&=}}b;>ZaJ0+kQ`p5kH>K^)y(tuvK(K1Pm0rn-Xe}vZ#RONWFSYSVz&=abz!kV$r zN>Lp(YJ+13k-VNfd)z#oNY-D&HF?Y`w3jFJ-MfYg7gnb;JxU;qQ6+o;rya4Wd)*;#Hl? z;q0DlZgLzB02R?3+C#|V`pT>9yy_aTaKFIgq;h~@B+jc%bU8FujhT!uOqMu|3p zFPOQT*KJD79pE5RLIXSn(x$cY$~;#nsRxu8vQ7C;i4R^H&#cnGoX5(xP_8tI0Jmk| z=MI$H0^rDa`-es!YY_TdS*G$6Mj3|PPLWs)%*l=eeRYP6=;KpI6FKqzKDUv_vn!j3 zj(=enO=Ozcn+n$I{h|1bYr!Rvb`W9y;F7X7$5@%csOT$=yq>Wb;b+zGD+4yRVq0Dv z%ZJOH`KT5f6M#QG`^`Lfy=6%mgt1B)&x_e`RW>0}5g#R!V^Ip#;%j-#5ShIVOPU~N z#rA6g_C;B@qwA&~{F_z(zY&%*KhJY2+ayemv&C%CHo39CWQfhZl9@Y=4PpiEn3=bw zQh{f+$%tjZ`p5oyQ5|NYqjG?=4ORJ_-)6lW2E^vXCB4%c#e}ZC7HFwawRjpCENjU3 zb%`pfL4GA(+HHjq)hnp4{YQ`E1=_X)8#MoWQx3SRqYcsUW~!xB(R?g|2{LIKg}aw| zh!UB?y3oE31G9FR!ytQ=)U;PIs*r1(MBG0-j;R2_y}-YcLOLN=VpZ{&>gPZ^8;2Q2 zG=?Ro9p|&8#R7O=Xlex95rcJsCj9FS)33w~HnVi=_Jsm{jh`sL&DW1%uf>q2gE?;vYx;dR~$N@Q~kt?NqtwMzfG<*Oc|c{@WSLrqh4 z!;=LXQ7lZV_gopYd2D-^ZeF~P@gHP(X?g| za!A`$p}i#wK3uiN1xt6j_FmyRUJM$hhWRrQK1GV10C_yB0y?pY`L^#d%vF!gQjx%n ztJ#~dilBh{-5I7)Dm|{rd9=b$UK%?<==-wrX>BB<@HS>9{i5z$lx0 zj@B-2;!JnQ@33)AcTO*%Mf3;R!ReNo?^jeT;fa3)s!VSgKU0N$J~jzE2Z8U8S&ZHJ-i#zO+`I-rR{fAq-wBrtMBaid2{yUsQEx1DEoF@#=Gn7!{8V-k&Rd_z{viCDbSvCMK(sfS!~0pfIX zBequK4lnMYM)nmT7?p0}{X2ZJVAXZ$Gcoa`^FxVPV~!y(j!_-YYdSRCIyH;3ci)e! zw{k!7+ZO~B4F4b=a_zQh0G>=TmrrgeHrUwQ;!;ckToVr=-u6LTrEjlwMK)PLHXDF! zYMd6)kE+=1BgWuJS6Uqxx~2J zrZqJK%meInbg=LdiZ>!&$`S8-#d^zfSe(opqS7UZN31z%`T0N%Ic7_%*JCp=ZX#v_L7$zUsIR@%x>b^*5MH*Pzq`sJ1+wqPn&_#ydy znP&817re90JWx)ZmgExQz!o%y4G+s(aMp$v$}bfB)(qT3&;0frkiZPH_3`?QoiKk& zNhp7(ut44$g@Q{NBgR`Zv!< z;(peQ@H-lJ_T3!b#WN-5>nf+$he2BTh8YkA_Vb$#C1T3%-^K@S$4QWIRhR~iLmSE! zzQ=G{J7KCX#1`eMvF8{IR4Xjd8A68vWaMr~dY&z}7+C z*;hS0YBMlOwcKhUaB|X8^u&klinz)_{poRaE7YsRLwliHn4D-cebSyR8aBeV{F5bx zG7m^ALFbAfzuNHW!RGfkk`*0Ov3)%mhQ=?$ve+DMS^@#u8D+`Wu}h(G*3Webi;pGn z^xhmeaWyw6IlXC{!dk zN*}o5I*z>h4#=uQiWgKs;ck1uP^rA zx4ddy=pD&afXT1OaBz~hxqxD-^~M!YMyjX3-GLsS%7Ds? z?J$`SI$sJcvwyQK20rs$IR|dPW-j3G+%t9Z8jiuWl_N@Mq%c{ZF%0wAm1Knz46Ii< z-o_Z>HLmjN-R?@pnn z4o%T<`D4+G|5y>ex`$nW#2p=L=Q9L8<_`JM1fmfxk)kB6fw+_*z{&!sJIi)y9vnZN zSB|N+FuOyq)=p2xSfVUu9bT+qdb<*3e*CO(ZvEn`9%Xf%)^Fq{QH&+Baj-m7nbYI& zz_eRVuAfa>c$YN;MGvzr$XK#+OuCTAM`FS@r>o*Rpj9rVPdv{AEiNoez;MYGSrvcH z^nlBXQP0$IM^c7noL_OQ%2sp#0DhXv0bdcy3?ZLp*jrx;uoRI8RiALnIWcx>464a0 zaY!5msvzn4vB6WqwVq>q&6cuQ)lq$Ne{$y34|%3bUIRTdX)zk`cBcPBm(1?i(z{dR zJv}zq6r2>J;W#=PyU91Uu)TN+?%ut9K& z*VsnwPt8HX_gwIC&c7Dy_~8l5;ZcUYuHP9!jEC6`S3;iBRP8K06Y{jVc6zNBov*3W z9#DIOE{K#fbBVxxt{v+wci^psdeewpnbYD(&}_HdVGegK zKGkQlr&r?=A2Eo==F^Fe;K3Giw8pcC;pqy@=$D@<>H!i%Un<=Z8KHa2R2MO!f=7A~CHkUN|H0%sxF{VDI9 z2PeI~1=T5vB@B-ct;BKxf?|I(FOEGa43hQwV`QaM^90E!1fpfsrqQ~PAD?=il8{MTl_5rp2+#DrI`=zD76r$FB|)B6RazA|IFXl3S2AU*Q4?tjc? zklV()-PL^cRD??xeWpKdZ5XK=r{l`)PmxyPIRVoAlpSZy<^hK%>j4}1%`lux9!2_V z4Tf>K8wRxr5{vT3TRc%*-7!@0u*blZn2bz1DUrj4d%Okr&(|4|1cq{8PN_$c{1sC~-it457WTzs2?`ZsozkD43jCD2@ z&cZ6kYUTYS4B2e`mF2+!Z(Ei-B%W|K**x7uX^H?Gz%SIfa7FW9&7j_6EV`E<0Hsbe z>L-Sbrq$OroJGy<3;l731?}aEnp(9jU6w9I#fL844Q2r~{hpTP08fr+p{eDmL=kbLF!=B-Zd_qcd!2ShQTkm_0|k4QIIma&OV~muSs3Vc{CPb zBuKK5T-~I$WvMG3^1CO)o<*NiBe^HU>LmN9)@ZqV_RCF%$^hsWp%G8EjcKb^yMTTm znf=5% z&84L;(RXEuy&K;>_lQOQQ~$x~KQ&EE`8|ByB{Z?To^k(bead7msVV#0q($FtJb3&= zN1{GuM!PD+!`mgroPKL^_$;n}`sr-Oe0b Date: Thu, 9 Nov 2017 21:29:25 -0800 Subject: [PATCH 5/5] Update API to 1.8 --- .api/{v1.7.0 => v1.8.0}/PowerBI-visuals.d.ts | 12 +- .../schema.capabilities.json | 126 +++++++++++++++++- .../schema.dependencies.json | 2 +- .api/{v1.7.0 => v1.8.0}/schema.pbiviz.json | 2 +- .../schema.stringResources.json | 6 +- pbiviz.json | 8 +- tsconfig.json | 2 +- 7 files changed, 145 insertions(+), 13 deletions(-) rename .api/{v1.7.0 => v1.8.0}/PowerBI-visuals.d.ts (99%) rename .api/{v1.7.0 => v1.8.0}/schema.capabilities.json (86%) rename .api/{v1.7.0 => v1.8.0}/schema.dependencies.json (97%) rename .api/{v1.7.0 => v1.8.0}/schema.pbiviz.json (99%) rename .api/{v1.7.0 => v1.8.0}/schema.stringResources.json (96%) diff --git a/.api/v1.7.0/PowerBI-visuals.d.ts b/.api/v1.8.0/PowerBI-visuals.d.ts similarity index 99% rename from .api/v1.7.0/PowerBI-visuals.d.ts rename to .api/v1.8.0/PowerBI-visuals.d.ts index 65f20b6..d9e7bda 100644 --- a/.api/v1.7.0/PowerBI-visuals.d.ts +++ b/.api/v1.8.0/PowerBI-visuals.d.ts @@ -81,6 +81,12 @@ declare namespace powerbi { /** Should be used by visuals to trace errors in PBI telemetry. */ Error = 3, } + const enum FilterAction { + /** Merging filter into existing filters. */ + merge = 0, + /** removing existing filter. */ + remove = 1, + } }  @@ -1335,7 +1341,7 @@ declare module powerbi { } /** - * Change Log Version 1.7.0 + * Change Log Version 1.8.0 */ declare module powerbi.extensibility.visual { @@ -1359,11 +1365,13 @@ declare module powerbi.extensibility.visual { createSelectionManager: () => ISelectionManager; colorPalette: IColorPalette; persistProperties: (changes: VisualObjectInstancesToPersist) => void; - applyJsonFilter: (filter: IFilter, objectName: string, propertyName: string) => void; + applyJsonFilter: (filter: IFilter, objectName: string, propertyName: string, action: FilterAction) => void; tooltipService: ITooltipService; telemetry: ITelemetryService; locale: string; allowInteractions: boolean; + instanceId: string; + refreshHostData: () => void; } export interface VisualUpdateOptions extends extensibility.VisualUpdateOptions { diff --git a/.api/v1.7.0/schema.capabilities.json b/.api/v1.8.0/schema.capabilities.json similarity index 86% rename from .api/v1.7.0/schema.capabilities.json rename to .api/v1.8.0/schema.capabilities.json index ec182cc..f65ff05 100644 --- a/.api/v1.7.0/schema.capabilities.json +++ b/.api/v1.8.0/schema.capabilities.json @@ -1,5 +1,5 @@ { - "PBI_API_VERSION": "v1.7.0", + "PBI_API_VERSION": "v1.8.0", "type": "object", "properties": { "dataRoles": { @@ -686,10 +686,43 @@ "type": { "description": "Describes what type of property this is and how it should be displayed to the user", "$ref": "#/definitions/valueType" + }, + "rule": { + "type": "object", + "description": "Describes substitution rule that replaces property object, described inside the rule, to current property object that contains this rule", + "$ref": "#/definitions/substitutionRule" } }, "additionalProperties": false }, + "substitutionRule": { + "type": "object", + "description": "Describes substitution rule that replaces property object, described inside the rule, to current property object that contains this rule", + "properties": { + "inputRole": { + "type": "string", + "description": "The name of role. If this role is set, the substitution will be applied" + }, + "output": { + "type": "object", + "description": "Describes what exactly is necessary to replace", + "properties": { + "property": { + "type": "string", + "description": "The name of property object that will be replaced" + }, + "selector": { + "type": "array", + "description": "The array of selector names. Usually, it contains only one selector -- 'Category'", + "items": { + "type": "string", + "description": "The name of selector" + } + } + } + } + } + }, "sorting": { "type": "object", "description": "Specifies the default sorting behavior for the visual", @@ -820,6 +853,92 @@ } } }, + "fillRule" : { + "type": "object", + "description": "A color gradient that will be dispalyed to the user as a minimum (,medium) and maximum color pickers", + "properties": { + "linearGradient2": { + "type": "object", + "description": "Two color gradient", + "properties": { + "max": { + "type": "object", + "description": "Maximum color for gradient", + "properties": { + "color": { + "type": "string" + }, + "value": { + "type": "number" + } + } + }, + "min": { + "type": "object", + "description": "Minimum color for gradient", + "properties": { + "color": { + "type": "string" + }, + "value": { + "type": "number" + } + } + }, + "nullColoringStrategy": { + "type": "object", + "description": "Null color strategy" + } + } + }, + "linearGradient3": { + "type": "object", + "description": "Three color gradient", + "properties": { + "max": { + "type": "object", + "description": "Maximum color for gradient", + "properties": { + "color": { + "type": "string" + }, + "value": { + "type": "number" + } + } + }, + "min": { + "type": "object", + "description": "Minimum color for gradient", + "properties": { + "color": { + "type": "string" + }, + "value": { + "type": "number" + } + } + }, + "mid": { + "type": "object", + "description": "Middle color for gradient", + "properties": { + "color": { + "type": "string" + }, + "value": { + "type": "number" + } + } + }, + "nullColoringStrategy": { + "type": "object", + "description": "Null color strategy" + } + } + } + } + }, "formatting": { "type": "object", "description": "A numeric value that will be displayed to the user as a text input", @@ -961,6 +1080,11 @@ "fill" ] }, + { + "required": [ + "fillRule" + ] + }, { "required": [ "formatting" diff --git a/.api/v1.7.0/schema.dependencies.json b/.api/v1.8.0/schema.dependencies.json similarity index 97% rename from .api/v1.7.0/schema.dependencies.json rename to .api/v1.8.0/schema.dependencies.json index 0a36fc8..6995d65 100644 --- a/.api/v1.7.0/schema.dependencies.json +++ b/.api/v1.8.0/schema.dependencies.json @@ -1,5 +1,5 @@ { - "PBI_API_VERSION": "v1.7.0", + "PBI_API_VERSION": "v1.8.0", "type": "object", "properties": { "cranPackages": { diff --git a/.api/v1.7.0/schema.pbiviz.json b/.api/v1.8.0/schema.pbiviz.json similarity index 99% rename from .api/v1.7.0/schema.pbiviz.json rename to .api/v1.8.0/schema.pbiviz.json index 9ddba08..b6be26e 100644 --- a/.api/v1.7.0/schema.pbiviz.json +++ b/.api/v1.8.0/schema.pbiviz.json @@ -1,5 +1,5 @@ { - "PBI_API_VERSION": "v1.7.0", + "PBI_API_VERSION": "v1.8.0", "type": "object", "properties": { "apiVersion": { diff --git a/.api/v1.7.0/schema.stringResources.json b/.api/v1.8.0/schema.stringResources.json similarity index 96% rename from .api/v1.7.0/schema.stringResources.json rename to .api/v1.8.0/schema.stringResources.json index ac0cb57..1704f82 100644 --- a/.api/v1.7.0/schema.stringResources.json +++ b/.api/v1.8.0/schema.stringResources.json @@ -1,5 +1,5 @@ { - "PBI_API_VERSION": "v1.7.0", + "PBI_API_VERSION": "v1.8.0", "type": "object", "properties": { "locale": { @@ -40,7 +40,7 @@ "ja-JP", "kk-KZ", "ko-KR", - "it-LT", + "lt-LT", "lv-LV", "ms-MY", "nb-NO", @@ -64,4 +64,4 @@ ] } } -} \ No newline at end of file +} diff --git a/pbiviz.json b/pbiviz.json index 268899c..ccc6edd 100644 --- a/pbiviz.json +++ b/pbiviz.json @@ -5,11 +5,11 @@ "guid": "bar247013B6E51446149DBCA247B9C6BBBA", "visualClassName": "BarChart", "version": "1.0.0", - "description": "", - "supportUrl": "", - "gitHubUrl": "" + "description": "Sample Vega-Lite Wrapper as a PowerBi Custom Visual", + "supportUrl": "https://github.com/Microsoft/vegalite-for-powerbi/issues", + "gitHubUrl": "https://github.com/Microsoft/vegalite-for-powerbi" }, - "apiVersion": "1.7.0", + "apiVersion": "1.8.0", "author": { "name": "Dominik Moritz", "email": "t-romor@microsoft.com" diff --git a/tsconfig.json b/tsconfig.json index 50abd6b..10ce322 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,7 +8,7 @@ "out": "./.tmp/build/visual.js" }, "files": [ - ".api/v1.7.0/PowerBI-visuals.d.ts", + ".api/v1.8.0/PowerBI-visuals.d.ts", "node_modules/powerbi-visuals-utils-dataviewutils/lib/index.d.ts", "src/settings.ts", "src/logger.ts",